【问题标题】:Use while loop to update multiple rows SQL使用while循环更新多行SQL
【发布时间】:2014-12-07 22:09:21
【问题描述】:

我下载了一个包含超过 90,000 行的数据库。我需要通过在值的末尾添加 _id 来对所有行的库仑 2 进行编辑。我以前从未使用过 SQL,所以我不确定是否可以通过这种方式将字符添加到末尾。我有的是这样的:

 SET @i = 01001
 WHILE(@i<93600)
  BEGIN 

        UPDATE NutritionTable
    SET field2 = (field2)"_id"
    WHERE field1=@i

SET @i = @i+1
  END -- WHILE

field2是需要更新的coulomb,@id是行号。我接近“SET”:语法错误。

我已经四处寻找答案,但没有找到太多关于此的答案。任何帮助将不胜感激,如果我错过了另一篇关于此的帖子......或者我错过了一些基础知识,请提前道歉。

【问题讨论】:

  • 您应该能够通过一个查询来做到这一点。不需要这样循环。

标签: mysql sql while-loop sql-update


【解决方案1】:

您不需要循环 - 您只需更新所有行,无需 where 子句:

UPDATE NutritionTable
SET    field2 = CONCAT(field2, '_id');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-22
    • 2015-08-13
    相关资源
    最近更新 更多