MySQL是一種常用的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它支持外鍵約束以保證數(shù)據(jù)庫的數(shù)據(jù)完整性。在MySQL中,可以通過ALTER TABLE語句來給表添加外鍵。
ALTER TABLE 表名
ADD CONSTRAINT 外鍵名
FOREIGN KEY (列名) REFERENCES 關(guān)聯(lián)表名(列名);
其中,表名和外鍵名分別代表要添加外鍵的表的名稱和外鍵的名稱。列名代表要添加外鍵的列的名稱。關(guān)聯(lián)表名和關(guān)聯(lián)列名分別代表參照表和參照列的名稱。執(zhí)行成功后,MySQL將會在要添加外鍵的列上創(chuàng)建外鍵,并將其與參照列進(jìn)行關(guān)聯(lián)。
例如,假設(shè)我們有兩個表:學(xué)生表和成績表。學(xué)生表包含學(xué)生的基本信息,而成績表包含學(xué)生成績信息。如果我們想要在成績表的“學(xué)生ID”列上添加外鍵,使其關(guān)聯(lián)到學(xué)生表的“ID”列上,可以這樣寫:
ALTER TABLE 成績表
ADD CONSTRAINT fk_學(xué)生ID_學(xué)生表 FOREIGN KEY (學(xué)生ID) REFERENCES 學(xué)生表(ID);
這樣,成績表中的學(xué)生ID列就會自動關(guān)聯(lián)到學(xué)生表的ID列上,如果學(xué)生表中的ID列不存在對應(yīng)的記錄,那么插入數(shù)據(jù)時將會失敗。