我有一个 SQL 语句,它将根据它们的 ID 和区域删除某些行。我可以 system.out.println 这个语句而不执行语句本身吗?我只是想确保我删除的内容是正确的。
这是一个示例语句:
PreparedStatement ps = db.getPreparedStatement("delete from tbl_traininglinks where training_title IN ('"+vwarnid+"')");
int i=ps.executeUpdate();
我注意到评论中已经回答了这个问题,但我想添加一些可能相关的内容,具体取决于您的应用程序的使用方式。
如果您在使用SELECT
之前使用并等待用户验证DELETE
,则表中的数据可能会同时更改,您最终可能会删除您在SELECT
语句中没有得到的行并且用户没有验证删除。即使您只是显示SELECT
语句的结果然后立即删除,也可能会发生这种情况,但机会较小。
相反,我建议您使用SELECT
并在用户验证删除后构建一个SQL 命令,该命令使用您在语句中DELETE
收到的行的键。SELECT
这样,您只删除用户验证删除的内容。
有一个功能叫
ROLLBACK
如果您使用的是事务性数据库。