[英]Table without primary key in DB?
我在數據庫中有 4 個表,它們定期連接。 現在我必須創建沒有新主鍵的新表,但它必須有來自其他表的外鍵。
是否可以?
如果您的新表與其他表的關系是一對一的,則可以將外鍵用作主鍵。 否則您將需要單個或復合主鍵以避免行冗余。
是的。 為此,您需要在外鍵中涉及的列上建立索引。 但它不必是唯一索引。
請注意這一點。 主鍵和所有索引可以有多個列。 如果您的新表是所謂的連接表,顯示了其他兩個表的行之間的多對多關系,您可以從兩列創建主鍵。 舉例來說,如果你有一個student
用表的主鍵student_id
,和teacher
用表的主鍵teacher_id
,您可以創建這樣的表。
CREATE TABLE student_teacher (
student_id INT NOT NULL,
teacher_id INT NOT NULL,
PRIMARY KEY (student_id, teacher_id),
UNIQUE INDEX teacher_student (teacher_id, student_id)
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.