当前位置: 首页 > 面试题库 >

MySQL-带LIMIT的UPDATE查询

柯学
2023-03-14
问题内容

我想将表中的行从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. 要做到这一点怎么办?

问题答案:

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

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

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



 类似资料:
  • 问题内容: 我想做的是对一列求和,但也要对它求和的行数进行计数,最大不超过5行。所以我的查询是: 我期望返回的是最多5个的COUNT(*)(我不能认为在我的代码逻辑中它将始终为5,因为它可能少于5个答案),总和 最多为 5行。 相反,我似乎得到的是匹配行的总数(用户为1)作为计数,以及这些行的得分总和。这些数字不会改变我是否把或者甚至是。 我相信在这种情况下会起作用的是 但这对于这样一个简单的查询

  • 问题内容: 如标题所述,我想要一个解决方法… 干杯 问题答案: 您可能会希望将an添加到嵌套查询中。

  • 问题内容: 我有一个与此类似的表: 我想先更换2次出现的用用,然后4下出现,使生成的表如下所示: 当然,所讨论的表要大得多,因此出现的次数也会更多,因此手动编辑不是解决方案。 我想做这样的事情: 但是不幸的是,MySQL似乎在UPDATE查询中不支持OFFSET …有什么办法吗? 问题答案: 尝试这个: 然后

  • 问题内容: 我该如何纠正这个问题,以便我的MySQL代码正常工作。 这是我的MySQL代码,给了我这个问题。 问题答案: 根据MySQL文档UPDATE: 对于多表语法,UPDATE更新满足条件的table_references中命名的每个表中的行。在这种情况下,不能使用ORDER BY和LIMIT。

  • 问题内容: 我需要检查(从同一张表)基于日期时间的两个事件之间是否存在关联。 一组数据将包含某些事件的结束日期时间,另一组数据将包含其他事件的开始日期时间。 如果第一个事件在第二个事件之前完成,那么我想将它们链接起来。 到目前为止,我有: 然后我加入他们: 然后,可以基于我的validation_check字段运行带有SELECT嵌套的UPDATE查询吗? 问题答案: 您实际上可以通过以下两种方式

  • 问题内容: 我正在尝试创建一个更新查询,并且在获取正确的语法方面进展甚微。以下查询正在运行: 它创建一个三元组的列表Index1,Index2,EventCounts。仅在t.SpecialEventCount为NULL的情况下才这样做。我尝试编写的更新查询应将此SpecialEventCount设置为该计数,即上述查询中的COUNT(m.EventType)。此数字可以是0或任何正数(因此为左联