我的MySQL表中有一个varchar字段,我想更新一个名为day
的列的每个值,其值递增为1
所以第一行是'day1',第二行是'day2'
任何人都可以在这方面提出建议吗
提前致谢。
答案 0 :(得分:1)
对于MySQL,您可以使用用户定义的变量来执行此操作。通过在变量名称前加上“@”符号来隐式定义它们。因此,要逐步将列的值设置为“第1天”,“第2天”等,您可以执行以下操作:
BEGIN
SET @x := 0;
UPDATE table SET column = CONCAT('day ', @x := @x + 1);
END
由于';',您需要从';'更改默认分隔符。我假设您正在使用命令行MySQL实用程序。你可以像这样输入上面的内容:
mysql> delimiter //
mysql> BEGIN
mysql> SET @x := 0;
mysql> UPDATE table SET column = CONCAT('day ', @x := @x + 1);
mysql> END
mysql> //
有关详细信息,请参阅http://dev.mysql.com/doc/refman/5.7/en/stored-programs-defining.html