[英]Error when trying to use SELECT…FOR UPDATE in MySql
我一直在尝试执行此行命令:
START TRANSACTION; SELECT * FROM users where uid = 1 FOR UPDATE
在 phpMyAdmin 中。 当我这样做时它会抛出一个错误:
SQL查询:
SELECT * FROM users where uid = 1 FOR UPDATE LIMIT 0, 25
MySQL 说:
您的 SQL 语法有错误; 检查与您的 MariaDB 服务器版本相对应的手册,以在第 1 行的“LIMIT 0, 25”附近使用正确的语法
我要做的是在执行更新查询时实现独占记录锁定。
根据https://dev.mysql.com/doc/refman/8.0/en/select.html , LIMIT 需要在更新之前出现。 因此,将您的查询更改为以下内容应该可以解决此错误:
START TRANSACTION; SELECT * FROM users WHERE uid = 1 LIMIT 0, 25 FOR UPDATE;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.