我試圖做一個觸發INSERT INTO在的checkedOutBy
的更新後表後裝備表。MySQL的觸發更新,如果ELSE插入
它給了我一個Error 1064
在第7,10行和其他人,因爲我已經隨機改變了事情,希望它能以某種方式神奇地工作。
DELIMITER $$
CREATE TRIGGER moveToHistory AFTER UPDATE ON equip
FOR EACH ROW
BEGIN
IF NEW.checkedOutBy <> Old.checkedOutBy
BEGIN
IF OLD.checkedOutBy IS NOT NULL AND NEW.checkedOutBy IS NULL THEN
INSERT INTO equipmentHistory(assetId, operation, createdBy, creationDate)
VALUES(new.assetId, 'CheckIn', eid, Date(sysdate()))
NEW.status = 'CheckedIn';
ELSE IF OLD.checkedOutBy IS NULL AND NEW.checkedOutBy IS NOT NULL THEN
INSERT INTO equipmentHistory(assetId, operation, createdBy, creationDate)
VALUES(new.assetId, 'Checkout', eid, Date(sysdate()))
NEW.status = 'CheckedOut';
END IF
END
END$$
DELIMITER ;
隨機改變事物並希望獲得魔法幾乎不是一個好主意。說了這麼多,幫助我們幫助你 - 你可以請你張貼你的餐桌的DDL嗎? – Mureinik