我现在正在为我的个人项目开发一个新的MySQL数据库(界面PHPmyadmin),而且我不知道如何避免同一个表上的两列具有相同的值。所以,我希望我们不能在一条记录中为2个不同的列插入相同的值。
实施例
<div class="row-30">
<div class="small-5 columns">a 5 col</div>
<div class="small-1 columns end">a 1 col</div>
</div>
我希望同一记录中的两列不能具有相同的值
答案 0 :(得分:0)
通常你会使用CHECK约束。 Bu MySQL目前不支持它们。它接受输入但忽略它们。
但是你可以使用一个触发器来取消某些条件下的插入/更新
delimiter //
CREATE TRIGGER check_trigger BEFORE INSERT ON your_table
FOR EACH ROW
BEGIN
IF (NEW.name = NEW.firstname) THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'same names error. Insertion canceled';
END IF;
END
//
delimiter ;
您还需要一个触发更新的触发器。