car_testt表與usert表是關聯表,其中我想car_testt表中設定外鍵user_id,索引也設定了,但是一直無法出現問題,無法成功,求解答哦



uj5u.com熱心網友回復:
報錯的意思是不能創建外碼約束,仔細檢查欄位的資料型別等是否與該表中的一致,我遇到過這個問題,就是因為編碼不一樣,我用的sjis而關聯的表中對應的欄位用的utf8.改成一樣的就ok了。uj5u.com熱心網友回復:
我查看了一下,貌似好像也不行
uj5u.com熱心網友回復:
我的也是屬性不匹配造成的,用用varchar 去系結int了,改回int就可以了。
uj5u.com熱心網友回復:
1,兩張表里要設主鍵和外鍵的欄位的資料型別或者資料長度不一樣2,某個表里已經有記錄了
uj5u.com熱心網友回復:
樓主解決了嗎我也碰到了同樣的問題uj5u.com熱心網友回復:
我也遇到了這個問題,了好久,后來我把洗掉和更新的都設定相同時就好了
uj5u.com熱心網友回復:
解決了:
1、查看表的格式是否相同,我的表需要改成utf-8mdb4。
2、把這個的int改成varchar然后再改回去int。
uj5u.com熱心網友回復:
我也遇到了這個問題,了好久,后來我把洗掉和更新的都設定相同時就好了
我也是這個問題,改成一樣的就好弄,但是為什么要改成一樣的?求指導
uj5u.com熱心網友回復:
因為car_testt表與usert表設定的所有屬性值不為null!!(劃重點:不為空)在設定外鍵時,將洗掉時 set null 改為 cascade就可以了,因為 不能為null 啊!!
望采納~
uj5u.com熱心網友回復:
我也遇到這個問題 先拋出結論 資料庫的引擎不同導致的 原來是InnoDB,現在是MyISAM 就關聯不上外鍵, 這只是一種情況, 可以在命令列SHOW ENGINE INNODB STATUS\G, 查看具體原因 ,其他原因留給后來人吧uj5u.com熱心網友回復:
資料庫表的記錄要先清空轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/75190.html
標籤:MySQL
