DELIMITER //
CREATE TRIGGER `kill_repeats` BEFORE INSERT ON `table_name`
FOR EACH ROW BEGIN
if NEW.name1<>'' and NEW.name1 in (select name1 from table_name)
then SIGNAL SQLSTATE 'Q001' SET MESSAGE_TEXT = 'name1 has been exsits';
end if;
if NEW.name2<>'' and NEW.name2 in (select name2 from table_name)
then SIGNAL SQLSTATE 'Q001' SET MESSAGE_TEXT = 'name2 has been exsits';
end if;
if NEW.name3<>'' and NEW.name3 in (select name3 from table_name)
then SIGNAL SQLSTATE 'Q001' SET MESSAGE_TEXT = 'name3 has been exsits';
end if;
/*需要检测多少个字段就可以重复几次*/
END
MYSQL 去重触发器 并且允许空值重复的策略
猜你喜欢
转载自blog.csdn.net/m0_37682535/article/details/84112826
今日推荐
周排行