前端之家收集整理的这篇文章主要介绍了
php – 如何从不同的MySQL表中删除所有相关记录,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的
数据库中有两个表:’故事’和’投票’.
故事表包含有关
文章的所有信息(例如
标题,正文,作者姓名等).投票表包含所有
文章的所有投票.投票中有一个名为item_name的字段,其中包含投票的
文章的ID.
简单来说,投票中的item_name等于故事中的id(取决于用户投票的文章).
问题是:如果文章被删除,我该如何自动删除投票表中与该文章相关的所有记录?
它可以在数据库中设置,因此不需要设置其他PHP查询吗?
这是我的数据库结构:
故事
票
MysqL有不同的存储引擎.在大多数
MysqL管理IDE中,默认存储引擎是MyISAM.如果对表使用此存储引擎,则无法在列之间创建任何关系,并且必须自行
删除相关列.
对于你想要的,innoDB是最好的解决方案.这种类型的存储引擎使情况在不同表的列之间创建关系.您将需要表中的主键和外键,并且在创建这些关系后,您必须为它们指定以下功能:
ON UPDATE CASCADE和ON DELETE CASCADE
因此,删除主记录后,您不需要删除相关的列值.
看看this link,在基准测试中对它们进行比较.