mysql - 如何忽略外部约束并添加 NULL
问题描述
我有两个表共享相同的 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 ;
所以我希望连续获得所有领域的专家外键,外键必须为空!
解决方案
推荐阅读
- c - 为什么可以在 scanf 的转换说明符中嵌入空字符?
- python - 除法运算符重载参数具有相同的值
- image-processing - 在网络摄像头上部署 pytorch 模型
- mysql - 求和到某个特定值后,如何在 MySQL 中从上到下跳过和检索所有行?
- package - 如何确定自制程序包是否针对苹果 M1 进行了优化
- javascript - 我想在 postgress 中插入一个数组类型的数组,但我不知道如何从节点执行它
- ansible - 证书授权。: 指定的凭据被服务器拒绝
- php - 在 WooCommerce 中选择“本地取货”时,不要对某些产品类别给予折扣
- oracle - 年份的日期差异
- jquery - 如何合并调整大小和滚动功能 - Jquery