更新表列,以便每行都有一个字符串加上递增的数字

时间:2018-05-09 15:01:31

标签: mysql

是否有SQL命令来更新表中的列,如:

UPDATE user_data
SET name='user' + ' ' + n

这样每行都会用字符串加上递增的数字来更新?

name
------
user 1
user 2
user 3

1 个答案:

答案 0 :(得分:1)

用两个陈述来做:

SET @n = 0;

UPDATE user_data
SET name = CONCAT('user', ' ', (@n:=@n+1));

你甚至可以将'user'和''组合成一个字符串,但我把它显示为单独的,以表明CONCAT()接受任意数量的参数。

顺便说一句,+是Microsoft SQL Server和Microsoft Access中的字符串连接运算符。不在标准SQL中,也不在MySQL中。