昨天聽同學問起,關聯式的DB用phpmyadmin要怎麼設定,本來還開玩笑的跟他說,現在還沒用到,等到我需要再告訴我,沒想到今天就用上了XD 不過他還沒上班,所以我就先找了一些東西... |
參考資料:phpMyAdmin 設定 mysql foreign key、MySql設定外來鍵、InnoDB 實現了 MySQL 的 Foreign Key。 |
首先,要先找到my.ini去設定phpmyadmin的innodb的參數: |
將skip-innodb給註解掉 (原本只有skip-innodb,改成#skip-innodb),修改完成後,直接存檔關掉,然後重啟Apache跟mysql,步驟如下: |
1.在我的電腦按右鍵>管理 |
2.出下以下電腦管理的畫面後,將服務及應用程式展開,然後點選服務,找到Apache跟mysql後,可以點右鍵選重新啟動,或者旁邊就有可以點的連結的。 |
執行完後,php的經紀人phpmyadmin就可以做關聯式的動作了,不過還是有些小地方要先修改: |
首先,先打開phpmyadmin (http://127.0.0.1/)登入,然後就是以下的步驟: |
1.選擇你的db 2.選擇要做key的table 3.點選管理 4.將儲存引擎修改成InnoDB 5.執行 |
完成這些步驟後,這個資料表(這時候它就是父資料表了)裡有INDEX性質的key就可以被參考了。 |
小提醒:這時候父資料表的欄位不做下一個步驟,因為這個table是要『被』參考的。 |
接著就是要設定哪個欄位要去參考別的欄位(foreign key): |
1.點選結構 2.點選關聯檢視 |
點選關聯檢視,會出現這個畫面,還沒設定的時候,就會向第一行的Fix_Engineer_ID一樣,InnoDB的設定都是『--』,所以我們要執行以下的步驟: |
1.選擇你要參考的key, 2.選擇從父資料表參考的key被刪除時的處理方式 3.選擇從父資料表參考的key被變更時的處理方式 |
小提示: |
CASCADE - 會將有所關聯的紀錄行也會進行刪除或修改。 SET NULL - 會將有所關聯的紀錄行設定成 NULL。 NO ACTION - 有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。 RESTRICT - 與 NO ACTION 相同。 --引用自InnoDB 實現了 MySQL 的 Foreign Key |
全站熱搜
留言列表