Mysql 增量更新列中的所有名称
我有一个专栏“客户”。我想更新所有行的名称,例如“Name1”、“Name2”、,“名字” 如果我这样做Mysql 增量更新列中的所有名称,mysql,sql,Mysql,Sql,我有一个专栏“客户”。我想更新所有行的名称,例如“Name1”、“Name2”、,“名字” 如果我这样做 UPDATE Customers SET ContactName='Name1'; 它将每行设置为“Name1”。我怎样才能做到这一点+每个名称对应1。我不太精通SQL,但您应该能够使用WHILE循环来模拟for循环。一般来说 DECLARE @cnt INT = 0; WHILE @cnt < cnt_total BEGIN {...statements...} SE
UPDATE Customers
SET ContactName='Name1';
它将每行设置为“Name1”。我怎样才能做到这一点+每个名称对应1。我不太精通SQL,但您应该能够使用WHILE循环来模拟for循环。一般来说
DECLARE @cnt INT = 0;
WHILE @cnt < cnt_total
BEGIN
{...statements...}
SET @cnt = @cnt + 1;
END;
DECLARE@cnt INT=0;
而@cnt
其中,“cnt_total”是您希望执行的循环总数,“statements”是您希望在每次迭代期间执行的操作。。应该能够适应你的问题
set @i = 0;
update Customer
set ContactName=concat('Name', @i := @i+1)
试试这个
update Customers,(SELECT @n := 0) m set ContactName =concat('Name',@n := @n + 1);
通过使用where子句,声明和WHILE仅在存储过程中使用。另外,如果声明局部变量,则不使用
@
。我怀疑您是在回答Microsoft SQL Server,而不是MySQL。