我想更新表中从 1001 到下一个 1000 的行。
我尝试了以下查询:
UPDATE `oltp_db`.`users` SET p_id = 3 LIMIT 1001, 1000
- 这给了我语法错误。这个对吗?我在这里做错了吗?
- 我们可以这样限制更新吗?
此外,我尝试更新的行对于数据类型为 INTEGER 的列 p_id 具有 Null 值。因此,我什至无法使用以下查询进行更新:
UPDATE `oltp_db`.`users` SET p_id = 3 WHERE p_id = null
- 我上面的查询是否正确?
- 可以做些什么来实现这一目标?
最佳答案
如果你想在 MySQL 中使用 limit 更新多行,你可以使用这个构造:
UPDATE table_name SET name='test'
WHERE id IN (
SELECT id FROM (
SELECT id FROM table_name
ORDER BY id ASC
LIMIT 0, 10
) tmp
)
关于MySQL - 使用 LIMIT 更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6289729/