2018-10-19
閱讀量:
1208
MySQL報(bào)錯(cuò)cannot add foreign key
這種報(bào)錯(cuò)是提示無(wú)法正確的插入外鍵約束,那我分析一下,設(shè)置外鍵有以下幾個(gè)條件:
1、要設(shè)置外鍵的字段不能為主鍵
2、改建所參考的字段必須為主鍵
3、兩個(gè)字段必須具有相同的數(shù)據(jù)類型和約束
滿足這三個(gè)條件一般在創(chuàng)建外鍵的時(shí)候就不會(huì)報(bào)錯(cuò)
而這里報(bào)錯(cuò)了cannot add foreign key constraint大多數(shù)是因?yàn)榈谌齻€(gè)條件不滿足
例如,我這有兩個(gè)表,一個(gè)主表是dvl_product產(chǎn)品表,從表是dvl_protype,其中外鍵時(shí)dvl_product表中的tid字段,參考字段為dvl_protype的id字段
主表:
外鍵如下所示
在從表我設(shè)置了id主鍵我們一般會(huì)設(shè)置自增長(zhǎng)、無(wú)符號(hào),但是我在主表設(shè)置外鍵的時(shí)候卻沒有對(duì)tid字段設(shè)置無(wú)符號(hào)約束,所有導(dǎo)致如上的錯(cuò)誤,值得注意的是,不單單是約束一樣,還要兩個(gè)字段的類型和長(zhǎng)度一樣才不會(huì)報(bào)錯(cuò)。






評(píng)論(0)


暫無(wú)數(shù)據(jù)
CDA考試動(dòng)態(tài)
CDA報(bào)考指南
推薦帖子
0條評(píng)論
0條評(píng)論
0條評(píng)論
0條評(píng)論