mysql - 主键作为外键

标签 mysql database database-design

我有这个设计

table: users
-------------
PK id_users
users

table: single_users
--------------------
PK FK users_id_users
something

table: workers
---------------
PK FK single_users_users_id_users
something

把PK做成外键有什么问题吗?喜欢上面的例子吗?

谢谢

最佳答案

我认为只要用户与工作人员之间以及用户与 single_users 之间存在一对多关系就可以了。

注意:您必须拥有多值 PK。例如

users 
1 Al
2 Eve
3 Bob

user_workers
1 something_1
1 something_2

因此,您必须将 id 和一些东西作为复合主键。为工作人员提供作为主键的 id 字段通常更容易。

所以:

user_workers
id | user_id | something
1    1         something_1
2    1         something_2

关于mysql - 主键作为外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6338869/

相关文章:

mysql - 数据库设计 : optional, 但如果提供值则必须是唯一的

php - 如何在 MySQL 数据库中存储苗族字符

database-design - 在运行时动态创建表

database-design - 遗传变异关系数据库

mysql - SQL 查询以从 wp_usermeta 中检索结合两个元键和值的用户

mysql - 将 MySQL 列值从查询转换为行

database - 每个 django 站点的不同数据库

mysql - 如何将整个 MySQL 数据库字符集和排序规则转换为 UTF-8?

mysql - 在插入触发器之前在mysql中使用子查询

MySQL 从头开始​​选择直到 row = string