成功的MySQL DELETE会返回什么?如何检查删除是否成功?

2022-08-30 09:35:37

使用PHP,我正在尝试删除记录,但我想检查它是否成功。从成功返回的任何内容吗?DELETE FROM foo where bar = 'stuff'

或者,您是否知道任何其他方法来检查DELETE是否成功?还是最好在删除行之前确保该行存在?如果可能的话,我正在尝试避免另一个查询。


答案 1

假设您使用的是mysql_query

对于其他类型的 SQL 语句,INSERT、UPDATE、DELETE、DROP 等,mysql_query() 在成功时返回 TRUE,在出错时返回 FALSE。

如果您使用的是 PDO::exec,则手册中会这样说:

PDO::exec() 返回由您发出的 SQL 语句修改或删除的行数。如果没有行受到影响,PDO::exec() 将返回 0。

不想回答snipe,但是由于这是被选为答案的,我应该注意,即使查询实际上没有删除任何内容,mysql_query也会返回。您应该使用mysql_affected_rows来检查这一点。TRUE


答案 2

此外,如果您关心受影响的行数:

[用途]mysql_affected_rows() 可找出有多少行受到 DELETE、INSERT、REPLACE 或 UPDATE 语句的影响。


推荐