php - 与 Mysql 和 PHP 的多对多关系

标签 php mysql sql database many-to-many

假设我有 2 个表,一个是网页表,一个是关键字表。这是多对多的关系,对吗?一个网页可以包含多个关键字,一个关键字可以属于多个网页。

网页表包含 id 字段作为 PK,以及一些其他字段。关键字表包含 id 作为 PK,还有一些其他字段。第三个表,子表,应该包含两个父表的 id 字段?是否可以在没有外键的情况下跟踪多对多关系,只需将子表中的这 2 个 id 字段声明为唯一?

无论有没有FK,当通过PHP插入新关键字时,我应该如何引用这个新关键字属于哪个网页,网页表中的网页id,还是子表中的id?

最佳答案

我会做这样的事情......

表1

Table_WebPage
PageID, PageName, Url,...........

表2

Table_KeyWords
WordID, Word, .........

表3

Table_PageKeyWords
ID, PageID, WordID

不知道为什么要在没有 FK 的情况下执行此操作,拥有 FK 将强制数据完整性并阻止垃圾数据进入您的表。

关于php - 与 Mysql 和 PHP 的多对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20249963/

相关文章:

SQL 服务器 2014 : report text of query executed via shortcut in query window

mysql - 显示客户每天的支出以及他们前一天是否消费过 (SQL)

python - 带随机化的加权数据库查询

php - 使用带有 ftp 服务器的 postgresql 的复制功能

php - 3 个表的连接查询在 php mysql 中无法正常工作

javascript - ajax 报告成功但数据库没有任何变化

javascript - 自动完成两个字段没有任何反应

c# - Bitwise Shift - 在 C#.net 与 PHP 中获得不同的结果

java - 在 Java 中将字符串 (rfc4122) 编码为数字,在 PHP 中解码

mysql - MySQL 查询中的未知列