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

php – 如何从不同的MySQL表中删除所有相关记录

我的数据库中有两个表:’故事’和’投票’.
故事表包含有关文章的所有信息(例如标题,正文,作者姓名等).投票表包含所有文章的所有投票.投票中有一个名为item_name的字段,其中包含投票的文章的ID.

简单来说,投票中的item_name等于故事中的id(取决于用户投票的文章).

问题是:如果文章删除,我该如何自动删除投票表中与该文章相关的所有记录?

它可以在数据库中设置,因此不需要设置其他PHP查询吗?

这是我的数据库结构:

故事

MysqL有不同的存储引擎.在大多数MysqL管理IDE中,认存储引擎是MyISAM.如果对表使用此存储引擎,则无法在列之间创建任何关系,并且必须自行删除相关列.

对于你想要的,innoDB是最好的解决方案.这种类型的存储引擎使情况在不同表的列之间创建关系.您将需要表中的主键和外键,并且在创建这些关系后,您必须为它们指定以下功能

ON UPDATE CASCADE和ON DELETE CASCADE

因此,删除主记录后,您不需要删除相关的列值.

看看this link,在基准测试中对它们进行比较.

原文地址:https://www.jb51.cc/php/130505.html

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

相关推荐