mysql - 我怎么能处理多个外键?

标签 mysql sql

我有两个表 User 和 Favorite。

我想让一个用户行有多个来自收藏夹的外键

用户

ID|Name |favorite
1 | tom |1&2 ??? (tom likes cookie and donuts)
2 | max |2&3 ??? (max likes donuts and peanuts)
3 | john|1&2&3 ??? (john likes cookie, donuts and peanuts)

收藏

ID | name
1  |cookie
2  |donuts
3  |peanuts

什么样的结构最适合这个目的? 我觉得这个问题很基础。 虽然我做了很多次外键结构,,,,,

我正在使用mysql 如果可能,想知道在 doctrine2 上执行此操作的方法。

最佳答案

你需要有一个多对多的关系表

用户收藏 用户身份 FavoriteId

这两个 id 将构成一个复合主键。每个都将是与它们相关的表的外键。

关于mysql - 我怎么能处理多个外键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16482507/

相关文章:

sql - 如何查看用于创建表的查询?

mySQL - 有效地检查表中的重复项

SQL Server : Self-reference FK, 触发器而不是 ON DELETE CASCADE

sql - mysql查询性能

mysqldump 特定表,带有带有 where 子句的表结构

mysql - 列匹配的累积和

sql - 根据特定条件使用另一个表的行更新一个表的行

mysql - "out of range"是什么意思?

MySQL 追踪分层一对多数据结构的祖先

java - SQLException 参数索引超出范围