如何创建将数据插入另一个表的触发器。
例如:我有一个department
表和一个course
表,course
表有一个名为department_id
的外键。
我将CICCT
插入course
表格,但CICCT
表格中没有department
。
我的目标是使触发器在department
表中添加值。我怎样才能做到这一点?
我试过这个,这是对的吗?
CREATE TRIGGER department_insert BEFORE INSERT
ON course
FOR EACH row
begin
INSERT INTO department
(department_id,
description)
VALUES (new.id_dep,
NULL);
end;
同一主题中的另一个问题是,当学生注册时,我需要做些什么才能将房间容量减少一个?
答案 0 :(得分:0)
您的触发器可能如下所示
CREATE TRIGGER department_insert
BEFORE INSERT ON course
FOR EACH ROW
INSERT IGNORE INTO department (department_id, description)
VALUES (NEW.id_dep, NULL);
注意:
要访问要插入的行的列值,您必须使用NEW
关键字
NEW.id_dep
^^^
使用IGNORE
中的INSERT
子句来忽略department_id
表中已存在的department
值。它可以大大简化您的代码。
这是 SQLFiddle 演示
为第二个问题单独发帖并指定表格模式