如何解决如何在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-无法删除或更新父行:外键约束失败(123movies
。movie_actors
,CONSTRAINT {{1} }外键(movie_actors_ibfk_1
)参考movie_id
(movies
))
请帮帮我!如何以正确的方式做到这一点! (在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 举报,一经查实,本站将立刻删除。