我有一个SQL语句,它会根据ID和区域删除某一行。我可以system.out.println这个语句没有执行语句本身吗?我只是想确定我删除的内容是否正确。
以下是一个示例声明:
PreparedStatement ps = db.getPreparedStatement("delete from tbl_traininglinks where training_title IN ('"+vwarnid+"')");
int i=ps.executeUpdate();
答案 0 :(得分:1)
我注意到这个问题已在评论中得到解答,但我想添加一些可能相关的内容,具体取决于您的应用程序的使用方式。
如果您在使用SELECT
之前使用DELETE
并等待用户验证,则表格中的数据可能会在此期间更改,您最终可能会删除您未获得的行SELECT
语句,并且用户未验证是否删除。即使您只显示SELECT
语句的结果然后立即删除,也可能发生这种情况,但机会较小。
相反,我建议您使用SELECT
并在用户验证删除后构建一个DELETE
SQL命令,该命令使用您在SELECT
语句中收到的行的键。这样,您只能删除用户验证要删除的内容。
答案 1 :(得分:-1)
有一项名为
的功能ROLLBACK
如果您使用的是交易数据库。