我目前有一个列 (control_reference) 设置为 varchar(120)
,其数据类似于 15591_8571
。此列中的数据更改第一个数字,但第二个数字始终相同。我想在其中添加一些内容,以便 varchar
最终看起来像这样。请记住,我有数百个这样的东西,所以我想找到一种方法来改变它们。
control_reference 中的当前值
- 15591_8571
- 16772_8571
- 20541_8571
control_reference 中的新值
- 15591_I18n_8571
- 16772_I18n_8571
- 20541_I18n_8571
我知道我可以使用简单的 UPDATE 'database.table' SET 'control_reference'='15591_I18n_8571' WHERE'id'='some_number';
但我还有很多事情要做。
最佳答案
如果需要更新表中的所有行,请尝试:
UPDATE database.table SET control_reference=REPLACE(control_reference, '_', '_I18n_')
要将更新限制为与该模式匹配的行,请添加如下内容:
WHERE control_reference REGEXP '[[:digit:]]+_[[:digit:]]+'
关于mysql - 通过添加到字符串中间来更新 mysql 中的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26122291/