我有一个专栏"客户"。我想更新行的所有名称" Name1"," Name2",...," NameX"。
如果我这样做
UPDATE Customers
SET ContactName='Name1';
它将每一行设置为' Name1'。我该怎么做这个增量?每个名字都有+1。
答案 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)
答案 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;是您希望在每次迭代期间执行的操作..应该能够使其适应您的问题。