我的数据库中有3个表。
- train_information
- 车轴
- 转向架
当我填写表格时,信息会填入train_information
表格,然后如下所示:
现在,您看到number_of_axles
是4.
表axle
和bogie
看起来像这样。
车桥:
转向架:
正如您所看到的,触发器仅插入3个轴应该插入的轴。但在转向架表中,我想添加4.
这是一个例子:
这一切都需要在1触发器中。因为mysql版本不支持具有相同操作的多个触发器(插入后)。
轴触发器已经工作。这是它的外观:
答案 0 :(得分:1)
您需要在现有触发器中添加另一个循环
delimiter //
create trigger train_information_ins after insert on train_information
for each row
begin
declare x int ;
declare y int ;
if(new.number_of_axies > 0 ) then
set x = 1 ;
while x < new.number_of_axies do
insert into axle (train_id,axle)
values
(new.train_id,x);
set x=x+1;
end while ;
set y=1;
while y <= new.number_of_axies do
insert into bogie (train_id,axle_nr)
values
(new.train_id,y);
set y=y+1;
end while ;
end if ;
end;//
delimiter ;