有外键约束的时候我们应该怎么样写入数据呢
2021-08-20 本文已影响0人
穿越沙漠的马兰花
有外键约束情况下,对表进行操作会报错:
如:
Cannot add or update a child row: a foreign key constraint fails (`dsp`.`dsp_rpt_olap_resource_info_daily`, CONSTRAINT `dsp_rpt_olap_resource_info_daily_ibfk_1` FOREIGN KEY (`partner_code`) REFERENCES `dsp_rpt_olap_partner_info_daily` (`partner_code`))
1、对于删除操作:
则需要先删除子表的数据,然后对父表进行删除操作,否则会报错。
2、对于插入数据操作:
网上找了很多方式,觉得这个比较方便点:
关闭外键检查 SET FOREIGN_KEY_CHECKS = 0;
插入数据后,
再开启外键检查 SET FOREIGN_KEY_CHECKS = 1;
外键主要是为了保持数据的完整性,具体后面再写一写外键的应用。