1
我正在将2条记录的sql UPDATE写入2条件。在我运行sql之前,sender_del_flag和receiver_del_flag都是0,但是在运行这个之后,有些值返回null。我想知道它为什么变为null。如何解决这个问题?Mysql查询使用WHEN更新多个条件的多列,并且
UPDATE `messages` SET
receiver_del_flag = CASE
WHEN `id`='4' AND receiver='92' THEN '1'
WHEN `id`='6' AND receiver='92' THEN '1'
WHEN `id`='8' AND receiver='92' THEN '1'
END,
sender_del_flag = CASE
WHEN `id`='4' AND sender='92' THEN '1'
WHEN `id`='6' AND sender='92' THEN '1'
WHEN `id`='8' AND sender='92' THEN '1'
END
WHERE id IN ('4', '6', '8')
非常感谢您节省我的时间 – Khean 2014-09-05 02:19:42
如果您在WHERE子句中添加AND(receiver = '92'或sender = '92'),它也会更有效率。 – Barmar 2014-09-05 02:22:15
好吧,我看到了,但我想我不必补充,因为它已经在WHEN子句 – Khean 2014-09-05 03:29:23