MySQL中要實現兩個字段不能相同的功能,可以通過以下兩種方式實現:
一、使用UNIQUE約束
CREATE TABLE table_name ( column1 data_type, column2 data_type, ... UNIQUE (column1, column2) );
以上SQL語句表示在table_name表中定義column1和column2兩個字段不能同時存在相同的值。
二、使用觸發器
DELIMITER $$ CREATE TRIGGER trigger_name BEFORE INSERT ON table_name FOR EACH ROW BEGIN IF NEW.column1 = NEW.column2 THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'column1 and column2 cannot be the same'; END IF; END $$ DELIMITER ;
以上SQL語句表示在table_name表中定義一個觸發器,觸發器名稱為trigger_name,當插入一條數據時,觸發器會檢查column1和column2兩個字段是否相同,如果相同則拋出錯誤信息。