今天給mysql數據庫中的表添加外鍵,保存時出現錯誤:[Err] 1215 - Cannot add foreign key constraint,導致無法添加外鍵。
外鍵定義添加的條件:
(1)外鍵對應的字段數據類型保持一致
(2)所有tables必須是InnoDB型,它們不能是臨時表.因為在MySQL中只有InnoDB類型的表才支持外鍵(兩張表的存儲引擎一致)。
(3)設置外鍵時“刪除時”設置為“SET NULL”
采用排除法,最后發現對應的數據類型不同,改正后即添加成功外鍵。
最后補充添加外鍵的語法,基本語法格式如下:
ALTER TABLE 數據表名 ADD CONSTRAINT 外鍵別名
FOREIGN KEY(字段1.1,字段1.2,...,字段1.n)
REFERENCES 表名(字段2.1,字段2.2,...,字段2.n)
其中:
數據表名:要添加外鍵約束的數據表的名稱。
外鍵別名:表示外鍵的代號。
字段1:表示子表中設置的外鍵。
表名:表示父表的名稱。
字段2:表示父表的主鍵。
以上即為添加數據庫外鍵的基本內容。