一種常見的資料庫設計涉及使用組合鍵在表之間建立關係。複合鍵是多個列的組合,唯一標識表中的記錄。在這個場景中,你有兩個表,tutorial 和 group,你需要將tutorial中的複合唯一鍵連結到group中的欄位。
根據MySQL文檔,MySQL支援外鍵對應到組合鍵。但是,要建立這種關係,您需要在引用表(組)中建立多個列來匹配引用表中的主鍵列(教程)。
以下是如何建立外鍵映射:
-- Alter the 'group' table to add the composite foreign key columns ALTER TABLE `group` ADD COLUMN `beggingTime` time NOT NULL, ADD COLUMN `day` varchar(8) NOT NULL, ADD COLUMN `tutorId` int(3) NOT NULL; -- Add the foreign key constraint ALTER TABLE `group` ADD FOREIGN KEY (`beggingTime`, `day`, `tutorId`) REFERENCES `tutorial`(`beggingTime`, `day`, `tutorId`);
透過在group表中建立三個外鍵列(beggingTime、day、tutorId),與表中的複合主鍵建立group關係教程表。這允許您基於組合鍵連接和檢索兩個表中的資料。
需要注意的是,雖然技術上支援使用組合外鍵,但通常建議使用單列主鍵。這是因為組合鍵會影響效能並增加資料庫設計的複雜性。如果可能,請考慮重新建構表格以在教學課程中使用單列主鍵。
以上是如何在MySQL中實作複合外鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!