Före mysql 5.5. det var inte möjligt att stoppa en insats inuti en avtryckare. Det finns några fula arbeten men inget jag skulle rekommendera. Sedan 5.5 kan du använda SIGNAL att göra det.
delimiter //
drop trigger if exists aborting_trigger //
create trigger aborting_trigger before insert on t
for each row
begin
set @found := false;
select true into @found from t where a=new.a and b=new.b;
if @found then
signal sqlstate '45000' set message_text = 'duplicate insert';
end if;
end //
delimiter ;