我有一个表,用于映射其他两个表的两个主键。我将这两个字段作为外键。映射表没有主键当我尝试插入两个表中已有的2个值时,我得到无法添加或更新子行:外键约束失败 错误。 我该如何解决这个问题?
我的表是这样的:
CREATE TABLE IF NOT EXISTS fuse_package_component_members
( component_id int(11) NOT NULL,
member_type int(11) NOT NULL,
member_id int(11) NOT NULL,
active_date date NOT NULL,
inactive_date date NOT NULL,
KEY component_id (component_id),
KEY member_id (member_id) )
ENGINE=InnoDB DEFAULT CHARSET=latin1
ALTER TABLE fuse_package_component_members
ADD CONSTRAINT comp_id_fk
FOREIGN KEY (component_id) REFERENCES fuse_component_definition (component_id) ON UPDATE NO ACTION,
ADD CONSTRAINT ele_id_fk
FOREIGN KEY (member_id) REFERENCES fuse_product_element (element_id)
ON DELETE NO ACTION ON UPDATE NO ACTION;
最佳答案
SET foreign_key_checks = 0;
UPDATE ...
SET foreign_key_checks = 1;
https://dev.mysql.com/doc/refman/5.5/en/create-table-foreign-keys.html
关于mysql - 在MySql中禁用插入操作中的外键检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27226441/