MySQL - 使用 LIMIT 更新查询

MySQL - UPDATE query with LIMIT(MySQL - 使用 LIMIT 更新查询)
本文介绍了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 更新查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

ibtmp1是非压缩的innodb临时表的独立表空间,通过innodb_temp_data_file_path参数指定文件的路径,文件名和大小,默认配置为ibtmp1:12M:autoextend,也就是说在文件系统磁盘足够的情况下,这个文件大小是可以无限增长的。 为了避免ibtmp1文件无止境的暴涨导致
What does SQL clause quot;GROUP BY 1quot; mean?(SQL 子句“GROUP BY 1是什么意思?意思是?)
MySQL groupwise MAX() returns unexpected results(MySQL groupwise MAX() 返回意外结果)
MySQL SELECT most frequent by group(MySQL SELECT 按组最频繁)
Why Mysql#39;s Group By and Oracle#39;s Group by behaviours are different(为什么 Mysql 的 Group By 和 Oracle 的 Group by 行为不同)
MySQL GROUP BY DateTime +/- 3 seconds(MySQL GROUP BY DateTime +/- 3 秒)