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

Joh*_*nes 0 mysql

我有一个 mysql 数据库表,我需要将前缀“35-”添加到某个列/字段 ( productcode) 的所有值,其category编号高于 500。因此,我希望将 Productcode 值123A56B789更改为35-123A56B789,并且类似表的所​​有其他行。

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

UPDATE my_table 
SET productcode = '35-' + productcode
WHERE category >= 500
Run Code Online (Sandbox Code Playgroud)

我没有收到任何错误或警告消息(甚至是一条消息“xxxx rows受影响”),但没有任何可见的效果 - 产品代码与以前相同。

有没有办法直接在MYSQL中实现这一点?

wha*_*ish 5

您可以将CONCAT35- 添加到产品代码列的开头。核实。

UPDATE my_table SET productcode = CONCAT('35-', productcode) WHERE category >= 500;
Run Code Online (Sandbox Code Playgroud)