【发布时间】:2016-06-14 14:13:04
【问题描述】:
我要转这个
UPDATE table_name
SET
col_1 = CASE id
WHEN 123 THEN '333'
WHEN 124 THEN '334'
END,
col_2 = CASE id
WHEN 123 THEN 'blah1'
WHEN 124 THEN 'blah2'
END
WHERE id IN (123,124)
进入这个
UPDATE table_name
SET
col_1 = CASE id
WHEN 123 AND col_3='' AND col_4='' THEN '333'
WHEN 124 AND col_3='' AND col_4='' THEN '334'
END,
col_2 = CASE id
WHEN 123 AND col_3='' AND col_4='' THEN 'blah1'
WHEN 124 AND col_3='' AND col_4='' THEN 'blah2'
END
WHERE id IN (123,124)
或者这个
UPDATE table_name
SET
col_1 = CASE id
WHEN 123 AND col_3<>'' AND col_4='' THEN '333'
WHEN 124 AND col_3<>'' AND col_4='' THEN '334'
END,
col_2 = CASE id
WHEN 123 AND col_3<>'' AND col_4='' THEN 'blah1'
WHEN 124 AND col_3<>'' AND col_4='' THEN 'blah2'
END
WHERE id IN (123,124)
但它不起作用。
因此,对于每条记录,除非某些列为空或已填充或空和已填充的组合,否则不要更新。
【问题讨论】:
-
为什么不把这些条件放在
WHERE?
标签: mysql