首页  >  文章  >  数据库  >  为什么MySQL在更新多个表时会抛出“不正确使用UPDATE和LIMIT”错误?

为什么MySQL在更新多个表时会抛出“不正确使用UPDATE和LIMIT”错误?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-25 06:49:29934浏览

Why Does MySQL Throw an

在 MySQL 中对多个表错误使用 UPDATE 和 LIMIT

在 MySQL 中使用 JOIN 操作更新多个表时,存在某些限制。其中一项限制是无法使用 LIMIT 子句,如错误消息“UPDATE 和 LIMIT 的使用不正确。”所示。

如何解决问题:

根据MySQL UPDATE文档,“对于多表语法,UPDATE会更新table_references中满足条件的每个表中的行。在这种情况下,不能使用ORDER BY和LIMIT。”

因此,在您提供的代码片段中:

<code class="php">$q = "UPDATE users INNER JOIN contact_info ON contact_info.user_id = users.user_id SET active.users = NULL WHERE (email.contact_info = '" . mysqli_real_escape_string($mysqli, $x) . "' AND active.users = '" . mysqli_real_escape_string($mysqli, $y) . "') LIMIT 1";</code>

要纠正此问题,您必须删除 LIMIT 1 子句。这将导致根据指定条件将更新应用于“users”和“contact_info”表中的所有匹配行。

以上是为什么MySQL在更新多个表时会抛出“不正确使用UPDATE和LIMIT”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn