繁体   English   中英

尝试在 MySql 中使用 SELECT...FOR UPDATE 时出错

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM