我无法使用触发器根据另一列中的更改来更新列

时间:2017-12-01 20:54:35

标签: mysql database triggers

每次AdoptionDate收到与NULL不同的值时,我都需要自动更新AdopterID的值。我尝试使用下面的代码执行此操作,但它给了我错误代码:1362。

DROP SCHEMA IF EXISTS `Assignment`;
CREATE SCHEMA `Assignment` DEFAULT CHARACTER SET utf8;
USE `Assignment`;

DROP TABLE IF EXISTS `Dog`;
CREATE TABLE `Dog` (
    `DogID` INT NOT NULL AUTO_INCREMENT,
    `Race` VARCHAR(32) NOT NULL,
    `RescueDate` DATE NOT NULL,
    `AdoptionDate` DATE DEFAULT NULL,
    `AdopterID` INT(11) DEFAULT NULL,
    PRIMARY KEY (`DogID`)
);

DELIMITER //
CREATE TRIGGER CustomTrigger AFTER UPDATE ON `Dog`
FOR EACH ROW
BEGIN
    IF NEW.`AdopterID` <=> NULL THEN
        SET NEW.`AdoptionDate` = NOW();
END IF;
END; //
DELIMITER ;

0 个答案:

没有答案