我试图编写一个触发器,在另一个表中插入一个默认值
将记录插入我的学生表后,我想在我的Student_Chapter表中插入一条新记录。
学生表具有名为S_ID的字段,该字段自动递增,并且该表的主键为。
Student_Chapter表有两个字段 Student_ID Int Chapter_ID Int
我尝试在您输入新的学生记录时创建此触发器。 但是我在尝试创建它时遇到错误......我已经尝试了几件事......并查看了该网站上的各种示例。
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服务器版本对应的手册,以获得正确的语法,以便在附近使用&#39 ;;插入Student_Chapter(Chapter_ID,Student_ID)值(Default_ID,NEW。'在第6行
答案 0 :(得分:0)
缺少)
?在" UNASSIGNED"之后
此外,您不应在参数前加@
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;