java—我无法删除mysql表中的所有行

kkbh8khc  于 2021-06-16  发布在  Mysql
关注(0)|答案(4)|浏览(331)

你好,我想删除mysql表中名为“kosik”的所有行,并将它们传递给另一个名为“objèuzoznam”的表。
我在java中使用以下代码:

String orderstatus = "Accepted";
        try {
            stmt = con.createStatement();
            stmt2 = con.createStatement();
            stmt3 = con.createStatement();

            rs = stmt.executeQuery("select ID as idzaz, ID_pouzivatela as idpou, ID_tovaru as idtov, cena as suma, ks as kusy from kosik order by ID limit 1");

            while (rs.next()) {

                int zaz = rs.getInt("idzaz");
                int pou = rs.getInt("idpou");
                int tov = rs.getInt("idtov");
                int suma = rs.getInt("suma");
                int kusy = rs.getInt("kusy");

                String sstr = "insert into obj_zoznam (ID_pouzivatela, ID_tovaru, suma, ks, stav) values ("
                        + "'" + id_usera + "', "
                        + "'" + tov + "', "
                        + "'" + suma + "', "
                        + "'" + kusy + "', "
                        + "'" + orderstatus + "')";

                String sstr2 = "delete from kosik where ID = " + zaz;

                stmt2.executeUpdate(sstr);
                stmt3.executeUpdate(sstr2);
            }

            stmt.close();
            stmt2.close();
            stmt3.close();
        } catch (Exception e) {
            out.println("Error in writing: " + e.toString());
        }

然而,这段代码总是只从表“kosik”中删除一条记录。我正在想办法删除这个表中的所有记录。
有人能告诉我我做错了什么吗?我将非常感激。
谢谢您。

t1rydlwq

t1rydlwq1#

您将查询结果限制为一行,因此始终只有一个id。执行sstr2时,将始终删除具有第一个id的记录

laik7k3q

laik7k3q2#

如果要删除保留表结构的条目,则应该使用truncate命令。

truncate table kosik
icomxhvb

icomxhvb3#

拆下 LIMIT 1 从你的 SELECT 所以你把所有的记录都带出来了,而不是一张。在这条线上:

rs = stmt.executeQuery("select ID as idzaz, ID_pouzivatela as idpou, ID_tovaru as idtov, cena as suma, ks as kusy from kosik order by ID limit 1");

删除限制1:

rs = stmt.executeQuery("select ID as idzaz, ID_pouzivatela as idpou, ID_tovaru as idtov, cena as suma, ks as kusy from kosik order by ID");

不要拆卸发动机 WHEREDELETE 或者选择一条记录( stmt ),将其插入另一个表中( stmt2 )然后在插入所有其他记录之前清除所有表 obj_zoznam ( stmt3 ).

igetnqfo

igetnqfo4#

我正在想办法删除这个表中的所有记录。
然后取下过滤器 where 你的身体状况 delete 陈述

delete from kosik

相关问题