0

我有一个基本上看起来像这样的表:

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>
4

1 回答 1

1

有什么问题:

  UPDATE mytable
     SET name = CONCAT('test',id)
/* WHERE id = 1 /* If you want to limit it */
于 2015-11-05T17:29:34.510 回答