gpt4 book ai didi

MySQL触发器插入之前

转载 作者:行者123 更新时间:2023-11-29 19:12:38 26 4
gpt4 key购买 nike

我正在尝试编写一个触发器,它将在另一个表中插入默认值

将记录插入到我的学生表中后,我想将新记录插入到我的 Student_Chapter 表中。

学生表有一个名为 S_ID 的字段,该字段自动递增,并且是该表的主键。

Student_Chapter 表有两个字段Student_ID 整数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 服务器版本相对应的手册,了解在 '; 附近使用的正确语法。在第 6 行插入 Student_Chapter (Chapter_ID, Student_ID) 值 (Default_ID,NEW.')

最佳答案

缺少)?在“未分配”之后另外,您不应该在参数前面加上 @

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;

关于MySQL触发器插入之前,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42966336/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com