假设我有 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/