1.1、
mysql
中「鍵」和「索引」的定義相同,所以外來鍵和主鍵一樣也是索引的一種。不同的是
mysql
會自動為所有表的主鍵進行索引,但是外來鍵字段必須由使用者進行明確的索引。用於外來鍵關係的字段必須在所有的參照表中進行明確地索引,
innodb
不能自動地建立索引。
2.2、外來鍵可以是一對一的,乙個表的記錄只能與另乙個表的一條記錄連線,或者是一對多的,乙個表的記錄與另乙個表的多條記錄連線。
3.3、如果需要更好的效能,並且不需要完整性檢查,可以選擇使用
myisam
表型別,如果想要在
mysql
中根據參照完整性來建立表並且希望在此基礎上保持良好的效能,最好選擇表結構為
innodb
型別。
4、外來鍵的使用條件
① 兩個表必須是
innodb
表,myisam
表暫時不支援外來鍵
② 外來鍵列必須建立了索引,
mysql 4.1.2
以後的版本在建立外來鍵時會自動建立索引,但如果在較早的版本則需要顯式建立;
③ 外來鍵關係的兩個表的列必須是資料型別相似,也就是可以相互轉換型別的列,比如
int和
tinyint
可以,而
int和
char
則不可以;
5、外來鍵的好處:可以使得兩張表關聯,保證資料的一致性和實現一些級聯操作。
MySql外來鍵詳解
1 外來鍵的使用 外來鍵的作用,主要有兩個 乙個是讓資料庫自己通過外來鍵來保證資料的完整性和一致性 乙個就是能夠增加er圖的可讀性 有些人認為外來鍵的建立會給開發時運算元據庫帶來很大的麻煩.因為資料庫有時候會由於沒有通過外來鍵的檢測而使得開發人員刪除,插入操作失敗.他們覺得這樣很麻煩 其實這正式外來...
mysql外來鍵教程 MySQL外來鍵使用詳解
最近有開始做乙個實驗室管理系統,因為分了幾個表進行儲存 所以要維護表間的關聯 研究了一下mysql的外來鍵 1 只有innodb型別的表才可以使用外來鍵,mysql預設是myisam,這種型別不支援外來鍵約束 2 外來鍵的好處 可以使得兩張表關聯,保證資料的一致性和實現一些級聯操作 3 外來鍵的作用...
mysql 外來鍵詳解 MySQL的外來鍵約束詳解
外來鍵的作用 主要作用有兩個,乙個保證資料的完整性和一致性,乙個是方便一些er圖生成工具生成更具可讀性的er圖。注意 引入外來鍵可能會導致效能下降 mysql中的外來鍵 mysql有兩種常用的引擎型別 myisam和innodb。目前只有innodb引擎型別支援外來鍵約束。innodb中外鍵約束定義...