我已创建此触发器,但我有两个问题。一个它没有主动填充Person表和两个。如果我在Party表中输入多行,则会在访问时出错,Subquery的Result返回多行。 有人知道我的问题吗?
DELIMITER $$
Create TRIGGER Trigger1
AFTER
INSERT
ON Party
FOR EACH ROW
BEGIN
declare partytypeid int;
declare partyid int;
set @partyid:= (select partyid from party);
set @partytypeid:= (select partytypeid from party);
IF partytypeid = 1
THEN INSERT INTO Person
(PartyId) VALUES (PartyId);
END IF;
END$$
delimiter ;
答案 0 :(得分:0)
设置变量时,您对整个表而不是插入的记录进行选择。
DELIMITER $$
Create TRIGGER Trigger1
AFTER INSERT ON Party FOR EACH ROW
BEGIN
declare partytypeid int;
declare partyid int;
set @partyid:= new.partyid;
set @partytypeid:= new.partytypeid;
IF partytypeid = 1 THEN
INSERT INTO Person
(PartyId) VALUES (PartyId);
END IF;
END$$
delimiter ;