Mysql 插入前触发
是否可以在表中插入的数据上插入控件?以满足提供的特定条件的方式,否则Mysql 插入前触发,mysql,Mysql,是否可以在表中插入的数据上插入控件?以满足提供的特定条件的方式,否则 drop function Presente; delimiter // create function Presente( Persona_Da_Cercare varchar(16), Data_Legge date) returns int begin declare risultato int; select count(*) into risultato from PARLAMENTARI
drop function Presente;
delimiter //
create function Presente( Persona_Da_Cercare varchar(16), Data_Legge date) returns int
begin
declare risultato int;
select count(*) into risultato
from PARLAMENTARI_IN_CARICA as pic
where Persona_Da_Cercare = pic.Persona and data_Legge >= pic.Data_Eletto;
if risultato = 0
then
select count(*) into risultato
from STORICO_PARLAMENTARI as sp
where Persona_Da_Cercare = sp.Persona and data_Legge >= sp.Data_Inizio and data_Legge <= sp.Data_Fine;
end if;
return risultato;
end//
set @ultima_legge bigint;
set @ultimo_parlamentare varchar(16);
set @data_legge date;
drop trigger if exists Ultimo_Voto;
delimiter $$
create trigger Ultimo_Voto before insert on VOTO_PALESE
for each row
begin
set @ultima_legge = new.Legge;
set @ultimo_parlamentare = new.parlamentare;
set @data_legge = (select Data_Approvazione from LEGGI where Cod_Legge = new.Legge);
end $$
drop trigger if exists Controllo_Voto_Palese;
delimiter $$
create trigger Controllo_Voto_Palese after insert on VOTO_PALESE
for each row
BEGIN
IF Presente(@ultimo_parlamentare, @data_legge) = 0 THEN
delete from VOTO_PALESE where Legge = @ultima_legge AND Parlamentare = @ultimo_parlamentare;
END IF;
END $$
insert into VOTO_PALESE(Legge, Parlamentare, Voto) values(770, 'MSRMRC01C14L378X', 'astenuto');
我不明白问题出在哪里错误消息很明显,您无法更新、删除或插入触发触发器的同一个表。好的,但是无法检查我要插入的数据?当您插入新行时,触发器提示您可以使用new.columnname检查每一列,并对其进行修改。您不能在同一个表中删除、更新或插入。如果NEW.column=1,则使用;如果SET NEW.column=column+1错误消息明确,则无法更新、删除或插入到触发触发器的同一个表中。好的,但无法检查我要插入的数据?插入新行时,触发器提示您可以使用NEW.columnname检查每一列,并对其进行修改。您不能在同一个表中删除、更新或插入。如果NEW.column=1,则使用,或者设置NEW.column=column+1
Error Code: 1442. Can't update table 'voto_palese' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.