mysql - 使用while循环更新多行SQL

标签 mysql sql while-loop sql-update

我下载了一个超过 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”:语法错误。

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

最佳答案

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

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

关于mysql - 使用while循环更新多行SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26338383/

相关文章:

php - 使用 PHP 更新多行

mysql - Docker 容器不会访问主机上的 MySQL

while 循环的 Pythonic 枚举

sql - 如何在sql中实现do-while循环

php - 使用外键合并两个数据库时的 SQL 问题

mysql - 如何在MySql中查找具有最高优先级的行?

php - 日期时间和 SELECT * FROM table WHERE date = TODAY

sql - Postgres 在连接时无法识别 CAST 的问题

mysql - 哪个更快?组合查询还是多个查询?

c - 因子博弈,使用循环