你好,我想删除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”中删除一条记录。我正在想办法删除这个表中的所有记录。
有人能告诉我我做错了什么吗?我将非常感激。
谢谢您。
4条答案
按热度按时间t1rydlwq1#
您将查询结果限制为一行,因此始终只有一个id。执行sstr2时,将始终删除具有第一个id的记录
laik7k3q2#
如果要删除保留表结构的条目,则应该使用truncate命令。
icomxhvb3#
拆下
LIMIT 1
从你的SELECT
所以你把所有的记录都带出来了,而不是一张。在这条线上:删除限制1:
不要拆卸发动机
WHERE
从DELETE
或者选择一条记录(stmt
),将其插入另一个表中(stmt2
)然后在插入所有其他记录之前清除所有表obj_zoznam
(stmt3
).igetnqfo4#
我正在想办法删除这个表中的所有记录。
然后取下过滤器
where
你的身体状况delete
陈述