有没有任何方法可以通过在SQL中执行DELETE指令来返回一些内容


Is there any way to have something returned by executing a DELETE directive in SQL?

基本上,我有两个PHP脚本处理的SQL DELETE查询。但是,我希望只有当第一个查询成功删除指定表中的一行时,才执行第二个查询
那么,在执行第一个查询之后,有没有办法让mysql_query()函数返回true或false之类的?

如果没有办法做到这一点,那么我已经想出了一个方法来实现我想要的结果。然而,能够以这种方式进行操作会简单得多,而且就我的代码逻辑而言更有意义。

你可以做:

delete ....
select row_count()

这将为您提供已删除的行数(如果没有,则为0)。有关详细信息:http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_row-计数

我认为您正在寻找一些更官方的东西,比如使用mySQL的事务。

堆栈上有一篇关于这种情况的有用帖子。