MySQL 更新行中的 LIMIT

Rin*_*tel 2 mysql sql

我正在尝试更新数据库中的某些行。如果我没有限制地运行它,它工作正常,但如果我以限制运行它,它会给我如下错误

1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行“35”附近使用的正确语法

我的查询如下

UPDATE number_list SET sync = 0 WHERE server = 1 ORDER by id ASC LIMIT 0,35
Run Code Online (Sandbox Code Playgroud)

如果有人可以纠正我,请告诉我。

Gor*_*off 6

您可以limitupdate(在 MySQL 中)中使用,但不能在偏移量中使用。所以就这样做:

UPDATE number_list
     SET sync = 0
     WHERE server = 1
     ORDER by id ASC
     LIMIT 35;
Run Code Online (Sandbox Code Playgroud)

这有点微妙,因为SELECT支持偏移。不过,在的语法图中很清楚UPDATE

  • @里纳帕特尔。。。那不是你问的问题。如果您有*另一个*问题,请提出另一个问题。正如我提到的,MySQL 不支持正在更新的表的“OFFSET”。 (2认同)