MySQL中添加外鍵可以實現不同表之間的關聯,增加數據庫的完整性和安全性。下面是添加外鍵的方法:
ALTER TABLE 子表名 ADD CONSTRAINT 外鍵約束名 FOREIGN KEY (子表列名1, 子表列名2, …) REFERENCES 主表名 (主表列名1, 主表列名2, …) ON DELETE CASCADE ON UPDATE CASCADE;
其中,ALTER TABLE是修改表的語句,子表名是要添加外鍵的表,外鍵約束名是該外鍵的名稱,子表列名是該表中要加入外鍵的列名,主表名是主表名,主表列名是與該子表列名對應的主表列名。
ON DELETE CASCADE和ON UPDATE CASCADE是在有關聯數據時如何處理的選項。ON DELETE CASCADE意為在主表中刪除數據時,子表中關聯的數據也會被刪除。ON UPDATE CASCADE意為在主表中修改數據時,子表中關聯的數據也會被更新。
例如,我們要在商品表中添加外鍵,關聯到供應商表中的id字段,查詢語句如下:
ALTER TABLE 商品表 ADD CONSTRAINT 外鍵約束名 FOREIGN KEY (供應商id) REFERENCES 供應商表 (id) ON DELETE CASCADE ON UPDATE CASCADE;
這樣就實現了商品表和供應商表的關聯。添加外鍵時應該注意,子表中必須有數據才能添加外鍵,否則會報錯;而且在添加外鍵后,子表中更新和刪除操作會相應受到限制。