Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未使用php代码删除子行,但正在数据库级别工作_Php_Mysql_Foreign Key Relationship_Cascade - Fatal编程技术网

未使用php代码删除子行,但正在数据库级别工作

未使用php代码删除子行,但正在数据库级别工作,php,mysql,foreign-key-relationship,cascade,Php,Mysql,Foreign Key Relationship,Cascade,我创建了两个具有以下详细信息的表: 表:事件 表:通知 其中,事件表是子表中的父表和通知表 我已将外键设置为以下内容: notification table -> event_id -> foreign key reference (event->id) 当我从数据库中的事件表中删除记录时,通知记录也会被删除 但当我通过php代码对事件表执行删除操作时,我得到以下错误: Cannot add or update a child row: a foreign k

我创建了两个具有以下详细信息的表:

表:事件

表:通知

其中,事件表是子表中的父表和通知表

我已将外键设置为以下内容:

 notification table -> event_id  -> foreign key reference (event->id)
当我从数据库中的事件表中删除记录时,通知记录也会被删除

但当我通过php代码对事件表执行删除操作时,我得到以下错误:

    Cannot add or update a child row: a foreign key constraint fails 
    (`db_lgo_2014`.`notification`, CONSTRAINT `notification_ibfk_1` 
    FOREIGN KEY (`event_id`) 
    REFERENCES `event` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)
我不明白为什么会这样

请帮帮我


谢谢。

可能是phpmyadmin软件处理删除操作,因此不会打破限制;如果可能的话,事务应该这样做,因为您仅在事务期间“打破”约束,但在提交时(如果我记得DB类是正确的),您甚至不能在事务内部打破FK关系。儿童记录永远不能成为“孤儿”@卡尔帕纳:你的FK是如何定义的?您是否有关于删除级联的
?如果没有,则必须先手动删除所有子记录,然后再删除父记录。@MarcB:是的,当我从mysql数据库->事件表中删除记录时,我已设置了“删除”和“更新级联”及其工作方式,但当我从php代码中执行相同操作时,我得到了一个错误。父记录也从php代码中删除了,但我在使用cascade删除子记录时得到了错误