MySQL外鍵簡介
MySQL外鍵是一種用于保持表之間關(guān)聯(lián)關(guān)系的約束條件。外鍵會將數(shù)據(jù)表之間的關(guān)系翻譯成一個語言,這個語言描述的是子集或父級數(shù)據(jù)表之間的關(guān)聯(lián)關(guān)系。外鍵可以保證數(shù)據(jù)表之間的完整性,同時也可以支持?jǐn)?shù)據(jù)關(guān)系的查詢。使用外鍵是確保數(shù)據(jù)庫數(shù)據(jù)時一致的一種有效的方式。在MySQL中,外鍵是指關(guān)系型數(shù)據(jù)庫中的兩個表的其中一個表中的一個字段成為另一個表中的主鍵的約束條件。
MySQL外鍵用法
MySQL的外鍵用法可以分為在設(shè)計表時添加外鍵和在已有表中添加外鍵兩種情況。
設(shè)計表時添加外鍵
CREATE TABLE table1( column1 INT PRIMARY KEY, column2 VARCHAR(50), column3 INT, FOREIGN KEY (column3) REFERENCES table2(column4) );
在已有表中添加外鍵
ALTER TABLE table1 ADD CONSTRAINT fk_column3 FOREIGN KEY (column3) REFERENCES table2(column4);
注意:
1. 在使用外鍵時,需要確保子集表(包含外鍵)中引用的數(shù)據(jù)必須在父級表(主鍵)中存在。
2. 若已經(jīng)存在一些數(shù)據(jù),那么添加一個以外鍵作為關(guān)聯(lián)表主鍵時,如果其中的數(shù)據(jù)與外鍵列不匹配,則不允許添加該外鍵。
3. 在建立外鍵時需要確保外鍵的兩個表都使用InnoDB存儲引擎(MyISAM不支持外鍵功能)。
MySQL外鍵總結(jié)
MySQL外鍵是一種用于保持表之間關(guān)聯(lián)關(guān)系的約束條件,使用外鍵是確保數(shù)據(jù)庫數(shù)據(jù)時一致的一種有效的方式。在使用外鍵時,需要確保子集表中引用的數(shù)據(jù)必須在父級表中存在。在建立外鍵時需要確保外鍵的兩個表都使用InnoDB存儲引擎。
上一篇css讓浮動居中
下一篇mysql外鍵什么時候用