mysqli->查询多个DELETE的奇怪行为

时间:2010-06-27 18:00:46

标签: php mysqli

我正在使用mysqli->query运行以下查询,但尽管显示受影响的行删除了正确的记录,但MYSQL并未删除记录。相同的查询在命令行上运行完美。

DELETE m,s FROM t1 m
LEFT JOIN t2 s ON t1.sbid = t2.sb_message_id
WHERE m.sbuid = 11

mysqli->affected_rows给出了正确的计数,但奇怪的是没有删除记录。

好的,只需检查即使是一个Delete查询也没有被执行。我还要清楚,我正在循环中删除。

1 个答案:

答案 0 :(得分:1)

看看这个SQL,很明显它是错误的。 delete语句的预期格式为:

Delete from TableName where condition

因此删除和允许之间没有字段名称。技术原因是delete删除行而非字段。

如果你想"删除"字段,即将值更改为null然后您需要update记录并将字段的值设置为null。