我想创建与主表birthrate
相关的表名birth_t
,因此当我将数据插入birth_t
时,自动birthrate
表也会更新。
Birth_t
字段:
Birthrate
字段:
Birthdate
字段)如何为那些创建触发器?
答案 0 :(得分:0)
您需要从Birthdate
获取年份,并根据另一个表中的记录进行检查,以更新适用的记录。这就是你如何做到的:
delimiter |
CREATE TRIGGER birthrata_update BEFORE INSERT ON test1
FOR EACH ROW
BEGIN
insert into Birthrate(Year, Sum)
select New.Year, 0
from BirthRate
where not exists (select 1 from BirthRate BR where BR.Year = New.Year limit 0, 1 );
update Birthrate
set Sum = Sum + 1
where Birthrate.Year = YEAR(NEW.Birthdate);
END;
|
如果该行不存在且初始值为0,则该行应向BirthRate
插入一行。然后它将增加Sum
。