MYSQL触发器问题。
答案:2 悬赏:20 手机版
解决时间 2021-04-06 06:05
- 提问者网友:王者佥
- 2021-04-05 16:26
现有三张表,表1 admin表,有username和password两个字段,主键是username。表2 t_student表有studentId、username、password三个字段,主键是studentId。表3 t_teacher,有teacherId、username、password三个字段,主键是t_teacherId。 现在想在student表和teacher表中插入数据的同时,在admin表中自动创建相同的数据,这样的话触发器怎么写?
最佳答案
- 五星知识达人网友:蓝房子
- 2021-04-05 17:59
需要分别给 老师表与学生表创建插入触发器 :
CREATE TRIGGER t_insert_record_t_student_bi
BEFORE INSERT
ON t_student
FOR EACH ROW
BEGIN
insert into admin (username,password) values ( NEW.username, NEW.password) ;
END ;
CREATE TRIGGER t_insert_record_t_teacher_bi
BEFORE INSERT
ON t_teacher
FOR EACH ROW
BEGIN
insert into admin (username,password) values ( NEW.username, NEW.password) ;
END ;
CREATE TRIGGER t_insert_record_t_student_bi
BEFORE INSERT
ON t_student
FOR EACH ROW
BEGIN
insert into admin (username,password) values ( NEW.username, NEW.password) ;
END ;
CREATE TRIGGER t_insert_record_t_teacher_bi
BEFORE INSERT
ON t_teacher
FOR EACH ROW
BEGIN
insert into admin (username,password) values ( NEW.username, NEW.password) ;
END ;
全部回答
- 1楼网友:行路难
- 2021-04-05 19:01
1,创建触发器:t_afterinsert_on_tab1 作用:增加tab1表记录后自动将记录增加到tab2表中 create trigger t_afterinsert_on_tab1 after insert on tab1 for each row begin if new.tab1_id is not null then insert into tab2(tab2_id) values(new.tab1_id); end if; end; 2,创建触发器:t_afterdelete_on_tab1 作用:删除tab1表记录后自动将tab2表中对应的记录删去 create trigger t_afterdelete_on_tab1 after delete on tab1 for each row begin delete from tab2 where tab2_id=old.tab1_id; end; 2,创建触发器:t_afterupdate_on_a 作用:修改a表age字段后自动将b表中对应的age字段修改 create trigger t_afterupdate_on_a after update on a for each row update b set age=new.age where id=new.id;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯