我的MySQL表中有一个varchar字段,我希望更新一个名为day的列的每个值,其增量值为1。
所以第一行是'day1‘,第二行是'day2’
有谁在这方面有什么建议吗?
提前谢谢。
发布于 2015-12-04 00:57:35
对于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
https://stackoverflow.com/questions/34079044
复制相似问题