我正在尝试更新contractnum的值,当将某些内容插入table1时,该值应为空。我想将它更新为任何field2,它始终是唯一的数字。
DELIMITER //
CREATE TRIGGER database1.Update_Contract_Num
BEFORE INSERT ON database1.table1
FOR EACH ROW
BEGIN
/*Update contract Num when new doc gets inserted and copy the contents of field1*/
IF contractnum IS NULL THEN
SET CONTRACTNUM = field2
END IF
END//
DELIMITER ;
答案 0 :(得分:0)
您有几个语法问题:
NEW
前缀来引用要插入的行的列值这应该更接近你的需要:
DELIMITER //
CREATE TRIGGER database1.Update_Contract_Num
BEFORE INSERT ON database1.table1
FOR EACH ROW
BEGIN
/*Update contract Num when new doc gets inserted and copy the contents of field1*/
IF NEW.contractnum IS NULL THEN
SET NEW.CONTRACTNUM = NEW.field2;
END IF;
END //
DELIMITER ;