SQL 插入触发器后将多行插入另一个 table
SQL After insert trigger insert multiple rows into another table
所以我有以下 table:
Table: competence
Columns:
id int(11) AI PK
name varchar(400)
organization_id int(11)
competence_type_id int(11)
competence_category_id int(11)
以及以下用户 table:
Table: user
Columns:
id int(11) AI PK
username varchar(100)
password varchar(100)
is_active int(11)
user_type_id int(11)
token varchar(445)
organization_id int(11)
title_id int(11)
image_path varchar(100)
division_id int(11)
这两个 table 之间的联系如下:
Table: user_has_competence
Columns:
user_id int(11) PK
competence_id int(11) PK
competence_level_id int(11)
progression varchar(45)
id int(11) AI PK
现在我正在尝试在 competence
table 上创建一个触发器来执行以下操作:
在权限 table 中插入一行后,找到具有相同 organization_id 的所有用户,然后为每个用户插入具有 [=30= 的 user_has_competence ] 和 competence_id.
然而我并没有那么多地使用触发器,希望你们中的一个能把我推向正确的方向。
在mysql中可以像
那样完成
delimiter //
create trigger competence_ins after insert on competence
for each row
begin
insert into user_has_competence (user_id,competence_id)
select u.id,c.id from competence c
join user u on u.organization_id = c.organization_id and c.organization_id = new.organization_id;
end;//
delimiter;
所以我有以下 table:
Table: competence
Columns:
id int(11) AI PK
name varchar(400)
organization_id int(11)
competence_type_id int(11)
competence_category_id int(11)
以及以下用户 table:
Table: user
Columns:
id int(11) AI PK
username varchar(100)
password varchar(100)
is_active int(11)
user_type_id int(11)
token varchar(445)
organization_id int(11)
title_id int(11)
image_path varchar(100)
division_id int(11)
这两个 table 之间的联系如下:
Table: user_has_competence
Columns:
user_id int(11) PK
competence_id int(11) PK
competence_level_id int(11)
progression varchar(45)
id int(11) AI PK
现在我正在尝试在 competence
table 上创建一个触发器来执行以下操作:
在权限 table 中插入一行后,找到具有相同 organization_id 的所有用户,然后为每个用户插入具有 [=30= 的 user_has_competence ] 和 competence_id.
然而我并没有那么多地使用触发器,希望你们中的一个能把我推向正确的方向。
在mysql中可以像
那样完成delimiter //
create trigger competence_ins after insert on competence
for each row
begin
insert into user_has_competence (user_id,competence_id)
select u.id,c.id from competence c
join user u on u.organization_id = c.organization_id and c.organization_id = new.organization_id;
end;//
delimiter;