我目前拥有的是:
UPDATE card, records
IF(records.date_returned == null) THEN SET
card.last_seen = records.date_loaned
ELSE SET card.last_seen = records.date_returned
WHERE card.card_no = records.card_no
一点背景——表记录有两列——date_loaned 和 date_returned,date_returned 默认设置为 null。我想知道是否有可能在 temp_card 更新时将 last_seen 列更改为 date_returned
很确定这是不可能的,但我想我是在碰运气!
-edit- *我有点希望它是自动的(例如,当记录更新时,这会触发 last_seen 的变化)希望可以解决问题!*
-edit-感谢所有回答的人!这是我得出的解决方案:
AFTER UPDATE ON records
FOR EACH ROW
Update card A
INNER JOIN records B
SET A.last_seen =
(CASE WHEN B.date_returned=null then B.date_loaned Else B.date_returned END )
WHERE A.card_no = B.card_no