MySQL - 使用 LIMIT 更新查询

时间:2023-04-30
本文介绍了MySQL - 使用 LIMIT 更新查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我想更新表中从 1001 到下一个 1000 的行.

I want to update rows in my table with starting from 1001 to next 1000.

我尝试了以下查询:

UPDATE `oltp_db`.`users` SET p_id = 3 LIMIT 1001, 1000

  1. 这给了我语法错误.这样对吗?我在这里做错了吗.
  2. 我们可以通过这种方式限制更新吗?

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

Also, the rows that I am trying to update are having Null value for the column p_id which is having data type INTEGER. Due to this I am not even able to update using following query:

UPDATE `oltp_db`.`users` SET p_id = 3 WHERE p_id = null

  1. 我上面的查询是否正确?
  2. 可以做些什么来实现这一目标?

推荐答案

处理空值时,= 与空值不匹配.您可以使用 IS NULLIS NOT NULL

When dealing with null, = does not match the null values. You can use IS NULL or IS NOT NULL

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

LIMIT 可与 UPDATE 一起使用,但仅与 row count 一起使用

LIMIT can be used with UPDATE but with the row count only

这篇关于MySQL - 使用 LIMIT 更新查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

上一篇:如何加速 SELECT .. LIKE 在 MySQL 中对多列的查询? 下一篇:MySql 错误:无法更新存储函数/触发器中的表,因为它已被调用此存储函数/触发器的语句使用

相关文章