微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在PHP中从多对多房地产表中删除

如何解决如何在PHP中从多对多房地产表中删除

这是我的桌子样子

表:电影

#   Name    Type
1   movie_id Pk int(11)         
2   movie_name  text

表:流派

#   Name    Type
1   genre_id Pk int(11)         
2   genres_name text

表:movie_genres

#   Name    Type
1   id Pk   int(11)
2   movie_id Index  int(11) 
3   genres_id Index int(11) 

那么我该如何删除电影中的一行,以便其流派和movie_genres中的值也自动删除

当我尝试从PHPmyadmin中删除该行时,显示错误:#1451-无法删除或更新父行:外键约束失败(123moviesmovie_actors,CONSTRAINT {{1} }外键(movie_actors_ibfk_1)参考movie_idmovies))

请帮帮我!如何以正确的方式做到这一点! (在PHP中)

解决方法

首先,您不应该从流派表中删除记录,因为这些值已经或将用于其他电影。

您得到的错误是因为您有另一个具有外键的表(movie_actors),以防止删除电影记录,您必须首先从该表中删除电影演员才能删除电影 解决方案: 将movie_actor表上的外键约束更改为删除/更新,以级联(现在是限制)

在流派表上将Foriegn键添加到影片删除时的级联:

ALTER TABLE movie_genres
ADD CONSTRAINT FK_movgen
FOREIGN KEY (`movie_id`) REFERENCES `movies` (`movie_id`) ON DELETE CASCADE ON UPDATE CASCADE;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。