簡體   English   中英

錯誤無法添加外鍵約束MySQL錯誤1215

[英]Error Cannot add foreign key constraint MySQL Error 1215

我正在創建一個數據庫,我想在表“ Member”和“ Group_Member”之間建立關系。 但是,當我使列“Memp_Id”作為表的外鍵“組-成員”作為pictur顯示這個錯誤出現如 我檢查了數據類型,但兩者都相同。 我現在要做什么?

確保它們都是相同的數據類型,並檢查兩者上的unsigned是否相同,並且如果您已經具有group_member行,則mem_id值將需要存在於members表中。

請參閱此處以更清楚地了解unsigned的含義, MySQL中的“ unsigned”是什么意思以及何時使用它?

percona的文章中列出了錯誤代碼1215無法添加外鍵約束的原因,但是在大多數情況下,原因如下:

  • 子表的潛在foreign key 包含在父表中不存在的ID ,但是您的子表'Group_Member'為空,因此不適用於您。
  • 約束引用中的本地鍵,外表或列有錯字
  • 約束所引用的列外列的類型或寬度不同 ,因為egif 主鍵的數據類型和寬度為int(11)那么外鍵的類型和寬度也必須與int(11)
  • 不同字符/排序規則中的兩個表/列,例如,如果主鍵具有核對utf8_unicode_ci和外鍵具有排序規則latin1_general_ci會發生錯誤,然后,所以它應該是相同的。
  • 父表未使用InnoDB設置外鍵,如果您的父表的類型為MyISAM則它將顯示以上錯誤#1252,因此應為InnoDB
  • 父表已分區 ,您還應該檢查分區。
  • 使用SET DEFAULT進行約束操作 ,例如PK或FK上的Default NULL ,因此不要在這些鍵上使用Default。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM