MYSQL基于条件更新

时间:2013-09-20 16:36:17

标签: mysql

任何人都可以帮我在我们的X-cart购物车上按类别更新各种尺寸。

目前,我们将这些年份的尺寸列为

10mm
10mm (00g)

我需要更改特定类别产品的所有尺寸选项,从10毫米到10毫米(00克)

我以为我可以使用像

这样的东西
SELECT * FROM `xcart_categories` WHERE `categoryid` = "311"
UPDATE xcart_class_options
SET option_name = REPLACE(option_name, '10mm', '10mm (00g)')       

但我不是一个SQL人,所以任何指针都会很棒。

3 个答案:

答案 0 :(得分:0)

UPDATE xcart_class_options
SET    option_name = REPLACE(option_name, '10mm', '10mm (00g)')   
WHERE  categoryid = '311'

答案 1 :(得分:0)

您只需将条件放在WHERE语句的UPDATE子句中,就不需要SELECT

UPDATE xcart_categories
SET option_name = REPLACE(option_name, '10mm', '10mm (00g)')
WHERE categoryid = '311'
AND option_name NOT LIKE '%10mm (00g)%'

UPDATE的语法描述为here

答案 2 :(得分:0)

假设categoryid表中还有xcart_class_options列,您可以执行以下操作:

UPDATE xcart_class_options
SET option_name = '10mm (00g)'
WHERE option_name = '10mm' AND
      categoryid = '311';