2017-03-23 352 views
0

我想寫一個觸發器,它會在另一個表MySQL的觸發器插入之前

插入一個默認值將記錄插入我的學生表我想插入新記錄到我Student_Chapter表後。

學生表具有自動遞增的稱爲S_ID的字段以及該表的主鍵。

的Student_Chapter表有兩個字段 student_id數據詮釋 Chapter_ID詮釋

我試圖創建這個觸發器,當你進入一個新的學生記錄射擊。 但是,我嘗試創建它時出現錯誤...並嘗試了幾件事...並查看了此網站上的各種示例。

Create Trigger AssignDefaultChapter_trigger 
Before INSERT On Students 
FOR EACH ROW 
BEGIN 
    DECLARE Default_ID INT; 
     SET Default_ID =(SELECT C_ID FROM Chapter WHERE ChName = "UNASSIGNED"; 
    Insert into Student_Chapter(Chapter_ID,Student_ID) values (Default_ID,New.S_ID); 
END; 

據我所知,插入沒有任何問題。

我得到的錯誤是#1064 - 您的SQL語法錯誤;檢查與您的MySQL服務器版本對應的手冊,以找到在';'附近使用的正確語法。 INSERT INTO Student_Chapter(Chapter_ID,student_id數據)值(Default_ID,新建。」在6號線

回答

0

一個失蹤)?後的 「未分配」 此外,不應該你用@

Create Trigger AssignDefaultChapter_trigger 
Before INSERT On Students 
FOR EACH ROW 
BEGIN 
    DECLARE @Default_ID INT; 
     SELECT @Default_ID = C_ID FROM Chapter WHERE ChName = "UNASSIGNED"; 
    Insert into Student_Chapter(Chapter_ID,Student_ID) values (@Default_ID,New.S_ID); 
END; 
前綴您的參數