通过添加带有MySQL查询的char来更新所有列值

时间:2012-04-03 06:35:45

标签: php mysql logic

我有一个用于存储产品代码的列表。

   | product_id | Product-name | product_code|
   |    1       | soap         | QTI4589     |
        2         abc            DRT45869
        3         xyz            IND458

我想用QTY-4589,DRT-45869,IND-458更新列product_code下的所有值...

表示希望在代码和数字之间加上“ - ”。

尝试使用replace() mysql函数但无效。请帮我解决这个问题。

3 个答案:

答案 0 :(得分:2)

你可以使用一些mysql函数CONCAT()LEFT()MID()LENGTH()

尝试以下:

UPDATE table SET product_code=CONCAT(LEFT(product_code,3),'-',MID(product_code,4,LENGTH(product_code)))

答案 1 :(得分:1)

代码总是三个字符吗?如果是这样,你可以使用

UPDATE `table` SET `product_code` = CONCAT( 
    SUBSTRING( product_code, 0, 3 ),
    '-',
    SUBSTRING( product_code FROM 4 )
)

答案 2 :(得分:0)

您是否尝试过INSERT(str,pos,len,newstr) mysql函数???

UPDATE table_name SET product_code= INSERT (product_code,4,1,"-") WHERE 1