中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql建立外鍵失敗的原因有哪些

發布時間:2020-09-04 09:24:43 來源:億速云 閱讀:177 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關mysql建立外鍵失敗的原因有哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

原因分析:

1、 兩個字段的類型或者大小不嚴格匹配

例如,如果一個是INT(10), 那么外鍵也必須設置成INT(10), 而不是 INT(11) 也不能是 TINYINT. 你得使用 SHOW 命令來查看字段的大小,因為一些查詢瀏覽器有時候把 int(10) 和int(11) 都顯示為integer。

另外,你還必須確定兩個字段是否一個為 SIGNED,而另一個又是UNSIGNED, 這兩字段必須嚴格地一致匹配,更多關于signed 和 unsigned 的信息。

2、你試圖引用的其中一個外鍵沒有建立起索引或者不是一個primary key ,

如果其中一個不是primary key 的,你必須為它創建一個索引。

3、外鍵的名字是一個已經存在的一個鍵值了,這個時候,你應該檢查你的數據庫以確保外健名字是唯一的,或者你在鍵名后面加上幾個隨機的字符以測試是否是這個原因。

4、其中一個或者兩個表是MyISAM引擎的表,若想要使用外鍵約束,必須是InnoDB引擎,(實際上,如果兩個表都是MyISAM 引擎的,這個錯誤根本不會發生,但也不會產生外鍵),你可以通過查詢瀏覽器來設置表的引擎類型。

5、你可能設置了ON DELETE SET NULL, 但是相關的鍵的字段又設置成了NOTS NULL 值。你可能通過修改cascade 的屬性值或者把字段屬性設置成 allow null 來搞定這個bug

6、請確定你的Charset 和 Collate 選項在表級和字段級上的一致

7、你可能設置為外鍵設置了一個默認值,如 default=0

8、在這個關系里面,其中的一個字段是一個混合鍵值中的一個,它沒有自己獨立的索引,這時,你必須為它創建一個獨立的索引。

9、ALTER 聲明中有語法錯誤

關于mysql建立外鍵失敗的原因有哪些就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绥棱县| 定陶县| 北碚区| 泰安市| 永宁县| 毕节市| 伊春市| 武强县| 泾川县| 上饶县| 教育| 思茅市| 襄垣县| 奉节县| 延寿县| 娄底市| 云霄县| 香河县| 阳西县| 平塘县| 凯里市| 宝鸡市| 台北县| 建平县| 芦溪县| 松阳县| 托克托县| 咸宁市| 宁陵县| 菏泽市| 九江市| 江源县| 浦江县| 正镶白旗| 类乌齐县| 德钦县| 襄樊市| 科尔| 桐庐县| 阿克苏市| 通山县|