-1

我正在尝试使用此查询更新表,

update posts (SELECT id, url from posts order by id DESC LIMIT 500) set url = replace(url, 'domain.com', 'domain.org')

这是我必须每周运行的查询。重要的是仅适用于最新的 500 个条目,而不是整个表。

当然上面的查询不起作用,这样的查询的正确语法是什么?

4

1 回答 1

2
UPDATE `posts` SET `url` = replace(`url`, 'domain.com', 'domain.org') ORDER BY `id` DESC LIMIT 500;

MySQL 文档

如果指定了 ORDER BY 子句,则按指定的顺序更新行。LIMIT 子句对可以更新的行数进行了限制。

另请注意,您不必选择要按其排序的列。

于 2013-06-13T21:09:02.727 回答