Mysql添加外鍵報錯:Referencing column 'xx' and referenced column 'xx' in foreign key constraint 'xxx' are incompatible.


問題描述:

在生成遷移文件后,接着執行遷移,出現如下錯誤:

django.db.utils.OperationalError: (3780,Referencing column 'category_id' and referenced column 'id' in foreign key constraint 'tb_goods_visit_category_id_b3e36237_fk_tb_goods_category_id' are incompatible.)

問題翻譯:

在外鍵約束'tb_goods_visit_category_id_b3e36237_fk_tb_goods_category_id'中引用列“category_id”和引用列“id”不兼容。

原因分析:

說明兩個表關聯的列數據類型不一致,比如:varchar 與 int,或者 int無符號 與 int有符號,都不行,必須要一模一樣才可以。

我的報錯是因為A表中的“category_id”為bigint類型,B表中的“id”為int類型,它倆不一致。

解決方法:

將所關聯的兩表中的相關兩列的類型修改成一致的即可,就可以添加外鍵了,然后成功遷移數據了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM