我一直在尝试执行此行命令:
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 需要在 FOR UPDATE 之前出现。因此,将查询更改为以下内容应该可以消除此错误:
START TRANSACTION; SELECT * FROM users WHERE uid = 1 LIMIT 0, 25 FOR UPDATE;