一尘不染

MySQL-带LIMIT的UPDATE查询

mysql

我想将表中的行从1001开始更新到下一个1000。

我尝试了以下查询:

UPDATE `oltp_db`.`users` SET p_id = 3 LIMIT 1001, 1000
  1. 这给了我语法错误。它是否正确?我在这里犯任何错误吗?
  2. 我们可以这样限制更新吗?

另外,我尝试更新的行的数据类型为INTEGER的列p_id具有Null值。因此,我什至无法使用以下查询进行更新:

UPDATE `oltp_db`.`users` SET p_id = 3 WHERE p_id = null
  1. 我上面的查询正确吗?
  2. 要做到这一点怎么办?

阅读 338

收藏
2020-05-17

共1个答案

一尘不染

处理null时,=不匹配null值。您可以使用IS NULLIS NOT NULL

UPDATE `smartmeter_usage`.`users_reporting` 
SET panel_id = 3 WHERE panel_id IS NULL

LIMIT可以与UPDATErow count只能一起使用

2020-05-17