更新列增量中的所有名称

时间:2017-09-03 17:11:56

标签: mysql sql

我有一个专栏"客户"。我想更新行的所有名称" Name1"," Name2",...," NameX"。

如果我这样做

UPDATE Customers
SET ContactName='Name1';

它将每一行设置为' Name1'。我该怎么做这个增量?每个名字都有+1。

3 个答案:

答案 0 :(得分:3)

试试这个

update Customers,(SELECT @n := 0) m set ContactName =concat('Name',@n := @n + 1);

答案 1 :(得分:2)

set @i = 0;
update Customer 
set ContactName=concat('Name', @i := @i+1)

SQL Fiddle

答案 2 :(得分:0)

我不太熟悉SQL,但你应该能够使用WHILE循环来模拟FOR循环。通常,

DECLARE @cnt INT = 0;

WHILE @cnt < cnt_total
BEGIN
   {...statements...}
   SET @cnt = @cnt + 1;
END;

其中&#39; cnt_total&#39;是您想要执行的循环总数和&#39;陈述&#39;是您希望在每次迭代期间执行的操作..应该能够使其适应您的问题。