1

如何创建将数据插入另一个表的触发器。

例如:我有一个department表和一个course表,course表有一个名为department_id.
我插入CICCT表中course,但表中没有。 我的目标是让触发器在 表中添加值。我怎样才能做到这一点?我试过了,这是正确的吗?CICCTdepartment
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; 

同一学科的另一个问题,当学生注册时,我需要做什么才能将房间容量减少一个?

4

1 回答 1

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_iddepartment

这是SQLFiddle演示

为您的第二个问题单独发帖并指定表模式

于 2013-10-08T18:19:37.877 回答