alter table MYTABLE add unique key flight_orig(FLIGHTNUMBER,ORIGIN);
如果尝试为每个FLIGHTNUMBER、ORIGIN插入相同的值,则会抛出错误 关键字'MYTABLE.flight_orig'的条目'109-SIN'重复 Example 另一个选项是使用插入前触发器。
CREATE TRIGGER mytable_exists BEFORE INSERT ON MYTABLE
FOR EACH ROW
BEGIN
IF EXISTS (SELECT 1 from MYTABLE where NEW.FLIGHTNUMBER=FLIGHTNUMBER and NEW.ORIGIN=ORIGIN)
THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Values exists on table';
END IF;
END;
1条答案
按热度按时间up9lanfz1#
正如我在评论中提到的,
(FLIGHTNUMBER,ORIGIN)
上的唯一键就足够了。如果尝试为每个FLIGHTNUMBER、ORIGIN插入相同的值,则会抛出错误
关键字'MYTABLE.flight_orig'的条目'109-SIN'重复
Example
另一个选项是使用插入前触发器。
在这种情况下,误差将是,
表中存在值
Example