【发布时间】:2015-05-19 15:18:39
【问题描述】:
我正在使用 Flask-SQLAlchemy,但我猜这个问题跨越了不同的数据库实现平台。
假设我有两个表模型结构如下:
User(字段:user_id 作为主键,username,email,password)和
UserDetails(带有字段:f_name、l_name、dob、gender、address、contact、bio 和 user_id 作为外键)。
可以将UserDetails 表中的user_id 用作PRIMARY KEY,就像同一个表上的FOREIGN KEY 作为唯一的唯一列一样,而不必为此创建单独的user_details_id 字段?
【问题讨论】:
-
外键允许重复,但主键不允许。所以我想,你不应该那样做。你为什么要为此制作不同的桌子?为什么不把它们结合起来呢?
-
@Nivedita 实际上有几个原因要做这样的事情 - 请参阅下面的答案以获取一些示例。
-
@Nivedita:我正在创建一个 Web 应用程序,用户在其中使用“用户”表中的详细信息进行注册。当用户决定更新他的详细信息(这是可选的)时,此新信息将进入“user_details”表。
标签: database foreign-keys relational-database primary-key flask-sqlalchemy