【发布时间】:2018-03-27 21:41:24
【问题描述】:
我正在编写一个 PHP 程序,并希望实现行级锁定以避免用户同时更新/删除同一条记录。
但我在使用 SELECT FOR UPDATE 时遇到错误“无法识别的关键字”。表类型为 innoDB。
我是否缺少数据库的任何设置?
SELECT * FROM companyTable
WHERE companyId = "0000001"
FOR UPDATE;
错误
静态分析:
在分析过程中发现了 1 个错误。
无法识别的关键字。 (靠近位置 57 的“FOR”)
SQL 查询:文档
SELECT * FROM companyTable WHERE companyId = "0000001" FOR LIMIT 0, 30
MySQL 说:文档
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 0, 30' at line 3
【问题讨论】:
-
什么是
FOR?? -
SELECT [...] FOR UPDATE 是 Oracle 数据库语法而不是 MySQL 语法。
标签: mysql phpmyadmin row-level-security