什么是外鍵約束?
外鍵約束是一種關系型數據庫中的數據完整性約束,它保證了表與表之間的數據一致性。在MySQL中,通過添加外鍵約束,可以確保在一個表中的數據必須符合另一個表的數據,這就要求外鍵所在的列的數據必須存在于另一個表的列中。
如何添加外鍵約束?
添加外鍵約束必須滿足以下條件:
- 外鍵所在的列必須已經存在于另一個表的列中。
- 外鍵所在的列的數據類型必須與另一個表的列的數據類型相同。
- 必須有足夠的權限來創建外鍵約束。
添加外鍵約束的語法
添加外鍵約束使用ALTER TABLE語句。具體語法如下:
ALTER TABLE 表名 ADD FOREIGN KEY (列名) REFERENCES 主表名(主表列名)。
外鍵約束的實例
例如,下面的代碼為創建“student”和“score”兩個表,并在“score”表的“sno”列上添加外鍵約束:
CREATE TABLE student (`sno` INT PRIMARY KEY, `sname` VARCHAR(32), `sex` CHAR(2));
CREATE TABLE score (`sno` INT, `course` VARCHAR(32), `score` INT, FOREIGN KEY (`sno`) REFERENCES student (`sno`));
在這個例子中,“score”表的“sno”列上添加的外鍵約束保證了該表中的“sno”數據必須存在于“student”表的“sno”列中。如果試圖向“score”表中插入不存在于“student”表中的“sno”數據,數據庫會提示添加外鍵約束失敗。
如何刪除外鍵約束?
使用ALTER TABLE語句來刪除外鍵約束。具體語法如下:
ALTER TABLE 表名 DROP FOREIGN KEY 外鍵名;