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

前端之家收集整理的这篇文章主要介绍了php – 如何从不同的MySQL表中删除所有相关记录前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的数据库中有两个表:’故事’和’投票’.
故事表包含有关文章的所有信息(例如标题,正文,作者姓名等).投票表包含所有文章的所有投票.投票中有一个名为item_name的字段,其中包含投票的文章的ID.

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

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

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

这是我的数据库结构:

故事

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

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

ON UPDATE CASCADE和ON DELETE CASCADE

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

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

猜你在找的PHP相关文章