我有一个问题,想出正确的语句来更新插入触发器在同一个表中的字段。它用于MySql表。触发更新MySQL表中的值
基本上我需要在字段中检查基本颜色的插入值,所以如果字段是:'钴蓝',我希望插入字段的颜色为'蓝色'。
我已经想出了下面的语句,以获得正确的颜色是正确的:
SELECT CASE
WHEN 'value' LIKE '%blue%' THEN 'Blue'
WHEN 'value' LIKE '%red%' THEN 'Red'
ELSE 'Other color'
END AS normalized_color
FROM 'products_extra_fields'
WHERE 'products_extra_fields'.'value' = 'color'
现在接下来,我需要这是在桌子上插入其中“products_extra_fields”触发“值”。 ='颜色'。
我似乎无法弄清楚如何构建这个触发器来包含带有SELECT CASE语句的UPDATE。
你的值如何同时变为'='color''和'LIKE'%red%'?此查询将始终返回“其他颜色”。 – Vatev 2013-04-10 19:05:12
'color'值只是'products_extra_fields'表中字段的名称。这是因为该表包含添加到产品表的每个额外字段的记录。这可能会令人困惑,但查询非常有效,我得到了一个更正的所有颜色的清单,然后再次进行测试。 – Hugo 2013-04-10 19:14:33
恩..好吧..哪个字段有字段名称,哪个字段有值? – Vatev 2013-04-10 19:15:59