使用Java PreparedStatement删除行并不总是有效

时间:2012-01-29 20:55:40

标签: java mysql prepared-statement

当我尝试使用PreparedStatement(我正在使用MySQL数据库)删除表中的最后一行时,该行未被删除,我尝试使用DELETE FROM ...命令和TRUNCATE命令(使用executeUpdate()命令),但这些命令都没有删除最后一行,我该怎么办才能删除最后一行?

这是我写的命令:

String sqlDelete = "DELETE FROM free_time WHERE therapist_id=? AND from=? AND to=? AND date=?";

我已经检查过我发送到Prepared Statement的参数是否正确,但仍然没有删除该行。

先谢谢。

2 个答案:

答案 0 :(得分:0)

最后一行在关系数据库中没有任何意义。您不需要知道行的存储方式。

您应该使用WHERE子句来标识删除所需的内容。

我不推荐TRUNCATE。

答案 1 :(得分:0)

你正在使用关键词,显然是在抑制异常;)。

String sqlDelete = "DELETE FROM free_time WHERE therapist_id=? AND `from`=? AND `to`=? AND `date`=?";