Cannot delete or update a parent row: a foreign key constraint fails....

在操作”小弟“这张表时候报错

想在“小弟”上面加入数据或者更新数据,就要听老大的,

这句话后面跟着的表就是“老大”,必须老大有数据索引,“小弟“才可以加入或者更新

查看“小弟”表的外键,会发现有对“老大”表的外键索引。

 

举例

在要删除或者滞空warehouse_picked_record中logistic_order_detail中的字段会报错

 Cannot add or update a child row: a foreign key constraint fails (`susliks`.`warehouse_picked_record`, CONSTRAINT `fk_whip_ref_logistics_detail` FOREIGN KEY (`logisticsorder_detail_id`) REFERENCES `logistics_order_detail` (`order_detail_id`) ON DELETE NO ACT)

 

针对外键数据库默认是NO ACTION,可以显示列出,CASCADE是级联操作,即当删除父行数据时候,相关联的子行数据也被删除,更新与删除功能相同。

现在如果先删除对应的logistcs_order_detail中的数据,就会发现,对应的warehouse_picked_record也会被自动删除

如果变成no action则要手动删除warehouse_picked_record ,不受logistics_order_detail约束

posted @ 2014-03-05 11:08  Kstyjobx!!  阅读(6220)  评论(0编辑  收藏  举报