我正在做一个INSERT ... ON DUPLICATE KEY UPDATE
但我需要更新部分是有条件的,只有在某些额外条件发生变化时才进行更新。
然而,WHERE
不允许这样做UPDATE
。有什么解决方法吗?
我无法执行 INSERT/UPDATE/SELECT 的组合,因为这需要通过复制来完成。
我建议你使用 IF() 来做到这一点。
Refer: 条件重复键更新与 mysql https://thewebfellas.com/blog/conditional-duplicate-key-updates-with-mysql
INSERT INTO daily_events (created_on, last_event_id, last_event_created_at)
VALUES ('2010-01-19', 23, '2010-01-19 10:23:11')
ON DUPLICATE KEY UPDATE
last_event_id = IF(last_event_created_at < VALUES(last_event_created_at), VALUES(last_event_id), last_event_id);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)