为MYSQL表中列的所有值添加前缀

时间:2018-03-14 23:34:48

标签: mysql

我有一个mysql数据库表,我需要在productcode数字高于500的某个列/字段(category)的所有值中添加前缀“35-”。所以我例如,希望将productcode值123A56B789更改为35-123A56B789,并在表的所有其他行中使用类似值。

另一个问题是此列是该表的主键,但我试图通过添加一个额外的索引列来解决这个问题,将其定义为主键,删除“productcode”上的索引并尝试以下操作查询(以后再次将其定义为主索引):

UPDATE my_table 
SET productcode = '35-' + productcode
WHERE category >= 500

我没有收到任何错误或警告信息(即使是“xxxx行受影响”的消息),但没有任何明显的效果 - 产品代码与以前保持一致。

有没有一种方法可以直接在MYSQL中实现?

1 个答案:

答案 0 :(得分:1)

您可以使用CONCAT将35-添加到productcode列的开头。检查一下。

UPDATE my_table SET productcode = CONCAT('35-', productcode) WHERE category >= 500;