mysql外鍵在數據庫中的作用
? ? ? mysql外鍵的目的是控制存儲在外鍵表中的數據,使兩張表形成關聯,是mysql數據庫中非常重要的組成部分,值得我們去深入了解。那么,mysql外鍵究竟起到哪些作用呢?下文就將帶您一探其中的秘密。
MySQL外鍵的作用
? ? ? 保持數據一致性,完整性,主要目的是控制存儲在外鍵表中的數據。使兩張表形成關聯,外鍵只能引用外表中列的值!
例1
? ? ? a?b?兩個表
? ? ? a表中存有客戶號,客戶名稱
? ? ? b表中存有每個客戶的訂單
? ? ? 有了外鍵后,你只能在確定b?表中沒有客戶x的訂單后,才可以在a表中刪除客戶x
建立外鍵的前提
? ? ? 本表的列必須與外鍵類型相同(外鍵必須是外表主鍵)。
? ? ? 指定主鍵關鍵字:?foreign?key(列名)
? ? ?引用外鍵關鍵字:?references?外鍵表名>(外鍵列名)
事件觸發限制
? ? ? on?delete和on?update?,?可設參數cascade(跟隨外鍵改動),?restrict(限制外表中的外鍵改動),set?Null(設空值),set?Default(設默認值),[默認]no?action
例2
? ? ? outTable表?主鍵?id?類型?int
? ? ? 創建含有外鍵的表:
?create?table?temp( ????????id?int, ????????name?char(20), ????????foreign?key(id)?references?outTable(id)?on?delete?cascade?on?update?cascade);
? ? ? ? 說明:把id列設為MySQL外鍵,參照外表outTable的id列。當外鍵的值刪除,本表中對應的列刪除;當外鍵的值改變?本表中對應的列值改變。
注
? ? ? MySQL中一張表只能有一個主鍵,主鍵可以由多個字段組成。
美文美圖
以上就是mysql進階(十一)外鍵在數據庫中的作用的內容,更多相關內容請關注PHP中文網(www.php.cn)!