我正在使用Flask-SQLAlchemy,但我想這個問題跨越不同的數據庫實現平臺。一個字段可以同時充當同一個表中的外鍵和主鍵嗎?
假設我有兩個錶款結構爲:
User
(包含字段:user_id
爲PRIMARY KEY,username
,email
,password
)和
UserDetails
(與字段:f_name
,l_name
,dob
,gender
,address
,contact
,bio
和user_id
作爲FOREIGN KEY)。
難道是好有user_id
從UserDetails
表作爲PRIMARY KEY只是因爲它是在同一個表是唯一的唯一列外鍵,而無需創建一個單獨的user_details_id
場爲了這個目的?
Foriegn鍵允許重複,但主鍵不允許。所以我想,你不應該那樣做。你爲什麼要爲此做出不同的表格?爲什麼不把它們合併? – Nivedita
可能的重複:http://stackoverflow.com/questions/17636106/can-a-foreign-key-act-as-a-primary-key – Nivedita
@Nivedita實際上有幾個原因做這樣的事情 - 看我的以下回答一些例子。 – Mureinik