我有一个关于桥接表的问题:如果我有一个桥接表链接两个表(标准),桥接表中的唯一值是它所链接的两个表的主键,如果我将如何在桥接表中创建新记录我想,只要它们存在于两个父表中,这是否可以通过简单地将它们直接添加到表中?
另外,在什么情况下可以从桥接表中删除(或不删除)?
如果有人有任何关于在哪里可以找到更多信息以阅读此内容的参考资料,我将不胜感激。
谢谢
我有一个关于桥接表的问题:如果我有一个桥接表链接两个表(标准),桥接表中的唯一值是它所链接的两个表的主键,如果我将如何在桥接表中创建新记录我想,只要它们存在于两个父表中,这是否可以通过简单地将它们直接添加到表中?
另外,在什么情况下可以从桥接表中删除(或不删除)?
如果有人有任何关于在哪里可以找到更多信息以阅读此内容的参考资料,我将不胜感激。
谢谢
当您需要连接引用表中的两行时,您可以在桥接表中添加一行。
当该连接不再存在时,您始终可以删除桥接表中的一行。
您正在搜索的是关联实体
真的。你只是做
如果您已经插入了它,您可以使用
INSERT IGNORE
而不是INSERT
. (你应该有PRIMARY KEY(id_a, id_b)
,这是一个唯一性约束。)表架构提示:http: //mysql.rjweb.org/doc.php/index_cookbook_mysql#many_to_many_mapping_table
当删除任何一个链接行时,应该(手动)从表中删除。但是,如果没有发生这种删除,则几乎没有或没有伤害。(另请参阅
LEFT JOIN
以获取NULLs
缺少一行的时间。)不要将这样的表用于 1:many 或 1:1 映射,仅用于 many:many。