我有一个基本上看起来像这样的表:
ID Name
1 test1
2 test2
n testn
我正在尝试编写一个首先一次更新 1 行的查询,然后如果我感到贪婪,则更新所有行。我尝试了这样的用户定义变量:
SET @x = '1';
SET @name = CONCAT('test', @x);
UPDATE mytable SET Name = @name WHERE ID = @x;
但是这个查询失败了。为什么此查询失败,是否可以将其改进为类似于 for 循环的方式来更新表中的每个名称字段?对于后者,这样的事情可能吗?
<for loop>
SET @x = Name;
SET @name = CONCAT('test', @x);
UPDATE mytable SET Name = @name WHERE ID = @x;
<end loop>