使用MySQL外鍵的四個條件
MySQL外鍵保證了數(shù)據(jù)庫的參照完整性,但是MySQL外鍵也不是所有版本都有的,而且使用MySQL外鍵也需要滿足一定的條件。
MySQL只在v3.23.34版本以后才引入MySQL外鍵的,所以在這之前的版本是沒有的。除此之外,還必須具備以下幾個條件:
1) 在my.cnf配置文件中打開InnoDB引擎支持。
# Uncomment the following if you are using InnoDB tables
innodb_data_home_dir = /var/db/mysql/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /var/db/mysql/
innodb_log_arch_dir = /var/db/mysql/
2) 相關(guān)聯(lián)的表都必須采用InnoDB引擎。
3) 相關(guān)聯(lián)的字段都必須建立索引。
MySQL v4.0版本以后,定義外鍵時會自動建立所以,所以在 v4.0 版本以前(含v4.0版本)必須手工定義索引。
4) 相關(guān)聯(lián)的字段必須采用類似的數(shù)據(jù)類型,或者說可轉(zhuǎn)換的數(shù)據(jù)類型,當(dāng)然相同類型是***不過了。
比如父表的字段是TINYINT類型,則子表只能采用TINYINT、SMALLINT、INT、BIGINT等幾種類型。
【編輯推薦】