如何忽略外部约束并改为添加NULL

时间:2019-05-14 21:45:12

标签: mysql

我有两个表,它们共享相同的ID主/外键:

  • 表1:PRIMARY KEY (id));
  • 表2:FOREIGN KEY (ident) REFERENCES table1(id);

我正在尝试创建一个触发器,以便让我使用不存在的主键插入新行并在该字段上设置NULL,但我得到了:

  

无法添加或更新子行:外键约束失败错误。

我该如何解决这个问题?

这是我尝试过的,但到目前为止:

DELIMITER $$

CREATE TRIGGER t1 BEFORE INSERT on table1
FOR EACH ROW
BEGIN

IF NEW.ident!= (
    SELECT  ident 
    FROM dimos
    WHERE ident NOT IN (
        SELECT  id   
        FROM    table1        
    )
)
THEN 
    SET NEW.ident = 'NULL';
END IF;

END $$

DELIMITER ;

所以我希望连续获取所有字段的外键,外键必须为空!

0 个答案:

没有答案