MYSQL 去重觸發器 並且允許空值重複的策略
阿新 • • 發佈:2018-12-08
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