2013-02-27 70 views
-1

我試圖更新當某些東西插入到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 ; 
+2

你的問題是什麼? – 2013-02-27 19:31:12

回答

0

你有一對夫婦的語法問題:

  1. 您需要使用NEW前綴來引用該行的列值插入
  2. 您需要終止某些行與分號

這應該是更接近你需要的東西:

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

相關問題