原來 Mysql 已經可以使用 Foreign Key

最近正在研究 qcodo 這個 php 的 framework 。很久以前 mysql 沒辦法設定 foreign key 的,不過看到 qcodo 裡的 Demo 影片,直接使用 mysql admin 的工具設定 foreign key 。設定後,用 qcodo 即可自動產生 php 的程式碼,這真是太方便了!!

其實如果 Table 是新建的話還滿容易的,就照著設定即可。但如果不是的話,要注意會不會有二個 table 之間的 ID 沒辦法對應的問題。最常發生的情況是之前在 A table 砍掉一筆紀錄,但在 B table 還有對應到原先的 A table 的 ID ,所以只要把對應錯誤的記錄砍掉即可。

剛試了一下, phpmyadmin 也是可以直接設定的 foreign key ,首先將所需的 table 儲存引擎改成 InnoDB 後,去各個 table 下選擇「關聯檢視」後,即可設定外來鍵所對應到的欄位。其中該欄位必需為 PRIMARY Key 或是建立 Index 才能被選擇。

底下有一些注意事項: