」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在MySQL中實作複合外鍵?

如何在MySQL中實作複合外鍵?

發佈於2024-12-26
瀏覽:934

How to Implement Composite Foreign Keys in MySQL?

在 SQL 中實作複合外鍵

一個常見的資料庫設計涉及使用複合鍵在表之間建立關係。複合鍵是多個列的組合,唯一標識表中的記錄。在這個場景中,你有兩個表,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`);

透過在群組表中建立三個外鍵列(beggingTime、day 和coachId),您可以與群組表建立關係教程表中的複合主鍵。這允許您基於複合鍵連接和檢索兩個表中的資料。

需要注意的是,雖然技術上支援使用複合外鍵,但通常建議使用單列主鍵。這是因為組合鍵會影響效能並增加資料庫設計的複雜性。如果可能,請考慮重新建構表格以在教學課程中使用單列主鍵。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3