MySQL触发器在插入条目时从列b的值更新a列
问题描述:
我试图更新当某些东西插入到table1时应该为空的contractnum的值。我想将它更新到field2中的任何一个始终是唯一的数字。MySQL触发器在插入条目时从列b的值更新a列
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 ;
答
你有一对夫妇的语法问题:
- 您需要使用
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 ;
+0
非常感谢。我对这个SQl触发器有点新了,而且我知道这是一些语法问题。我尝试了很多不同的方式。谢谢!!! – user2066533 2013-02-27 23:27:05
你的问题是什么? – 2013-02-27 19:31:12