我试图在一次更新中将所有字段“name”替换为“name+1”。例如,我希望 2008 年成为 2009 年,2009 年成为 2010 年,等等。
我这样做只是为了一个替换:
UPDATE table
SET name = REPLACE(name, '2008', '2009');
但是如果我现在想在 2010 年之前替换 2009 年,那将是错误的,因为它也会更改我上次请求的 2009 年。
这是我的数据库:
我如何在一个请求中增加所有这些年份的“名称”而不会发生冲突并且不会在最近一年开始?
感谢您的宝贵时间。
最佳答案
只要列值是纯数字,即使它的数据类型是varchar
,您也不需要任何转换。
MySql 做 implicit casting :
update tablename
set name = name + 1;
参见 demo .
关于mysql - 如何在同一列 SQL 上进行乘法替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55970386/