尝试使用 SELECT 时出错.用于在 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 需要在 FOR UPDATE 之前出现。因此,将查询更改为以下内容应该可以消除此错误:

START TRANSACTION; SELECT * FROM users WHERE uid = 1 LIMIT 0, 25 FOR UPDATE;

最新更新