创建一个触发器,当向sc表中添加数据时,如果添加的数据与student表中的数据不匹配(没有对应的学号),则将此数据删除。
时间: 2023-05-25 16:01:41 浏览: 481
mysql 触发器实现两个表的数据同步
A:
首先需要在sc表中创建一个新的触发器,当有新数据插入时,会执行触发器中定义的操作:
```
CREATE TRIGGER check_sc_insert
AFTER INSERT ON sc
FOR EACH ROW
BEGIN
DELETE FROM sc WHERE s_id NOT IN (SELECT s_id FROM student);
END;
```
以上代码的意思是,在插入新数据后,触发器会执行删除操作,删除sc表中不符合条件的数据,判断条件是s_id不在student表中。
需要注意的是,如果在student表中也有触发器,会同时触发两个触发器,这个时候需要特别注意删除操作的顺序,以避免死循环导致数据库崩溃。
阅读全文