保證數(shù)據(jù)的完整性和一致性谷暮。
約束分為表級(jí)約束和列級(jí)約束伶跷。
約束類型包括
- 非空約束 NOT NULL
- 主鍵約束 PRIMARY KEY
- 唯一約束 UNIQUE KEY
- 默認(rèn)約束 DEFAULT
- 外鍵約束 FOREIGN KEY
外鍵約束:(關(guān)系數(shù)據(jù)庫(kù)的根本原因)
保持?jǐn)?shù)據(jù)一致性战授,完整性。
實(shí)現(xiàn)一對(duì)一或者一對(duì)多關(guān)系兼砖。
- 父表和子表必須使用相同的存儲(chǔ)引擎蔚润,而且禁止使用臨時(shí)表磅氨。
- 數(shù)據(jù)庫(kù)的存儲(chǔ)引擎只能是InnoDB。
- 外鍵列和參照列必須具有相似的數(shù)據(jù)結(jié)構(gòu)嫡纠。其中數(shù)字的長(zhǎng)度或是否有符號(hào)位必須相同烦租,而字符的長(zhǎng)度則可以不同。
- 外鍵列和參照列必須創(chuàng)建索引除盏。如果外鍵列不存在索引的話叉橱,MySQL將自動(dòng)創(chuàng)建索引。