簡體   English   中英

數據庫中沒有主鍵的表?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM