報錯1215 cannot add foreign key

下載軟件安裝半天終於把數據庫準備好了(我的錯誤解決可以直接從最後開始看,倒數第二張圖解決)

創建兩張a表看t_student,t_activity在數據庫ee1下

t_student表設計

t_activity表設計

然後就開始設計外鍵,讓t_activity表的joineridid關聯t_student表的id

報錯了!!!

去網上找了一下,說可能是

1.數據不匹配

2.引擎不一致

3.這個設置了set null

第3種可能最先排除,然後點擊設計表,「選項」顯示的都是默認的引擎InnoDB,這裏可以進行更改引擎和字符集,更改了記得點擊保存不然白忙活哦~

現在只剩下第一種錯誤的可能性了,數據不匹配!!!

睜大了眼睛,用上了手,仔細對比,一樣啊,只是一個是主鍵啊~~~~

就嘗試試了一下其他數據設置外鍵

非主鍵和非主鍵關聯沒毛病,主鍵和主鍵關聯沒問題。。。。。。。

就數據庫設計而言,肯定不能說主鍵不能和非主鍵關聯不是,外鍵主要作用就是保持數據一致性,完整性。畢竟主鍵唯一,和非主鍵關聯就減少非主鍵(錯誤)輸入不存在的信息,例如入學信息學號(一般設置學號爲主鍵)和圖書館借書人員(一人借多本書,肯定不能設爲主鍵,但是要保證是學校人員) 。

其他關聯都可以,那就肯定是數據類型沒對了,網上找也沒找出個什麼具體解決方案{內心:救救孩子,嗷~}

問題:t_student裏id勾選了自動遞增和無符號,關聯的t_activity裏id字段不要求勾選自動遞增,但是必須是無符號數

勾選好後,記得點擊保存哦。創建成功啦!!

問題千千萬,不會就百度【哭笑】,可能下次錯的還是這問題但是不一定是這個原因,但是希望更快排錯解決掉哦 *~ _ ~*