为什么 MySQL 会抛出'更新和限制的使用不正确”错误?

Susan Sarandon
发布: 2024-10-27 11:20:02
原创
610 人浏览过

Why Does MySQL Throw

不正确使用 UPDATE 和 LIMIT

MySQL 用户在尝试执行涉及 UPDATE 语句和 LIMIT 的查询时可能会遇到错误“不正确使用 UPDATE 和 LIMIT” LIMIT 子句。

要解决此问题,了解 UPDATE 语句在与多个表一起使用时的限制非常重要。根据 MySQL 文档,“对于多表语法,UPDATE 会更新 table_references 中指定的满足条件的每个表中的行。在这种情况下,不能使用 ORDER BY 和 LIMIT。”

示例中提供的代码:

$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";
登录后复制

查询尝试使用多个表(users 和 contact_info)执行更新,同时还应用 LIMIT 子句。如前所述,在这种情况下不能使用 LIMIT。

要解决此问题,请考虑按如下方式修改查询:

$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 子句,查询将成功执行并更新用户表中指定的行。

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!