久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

MySQL數(shù)據(jù)庫中建立外鍵失敗的原因有哪些

137次閱讀
沒有評論

共計 946 個字符,預(yù)計需要花費 3 分鐘才能閱讀完成。

今天就跟大家聊聊有關(guān) MySQL 數(shù)據(jù)庫中建立外鍵失敗的原因有哪些,可能很多人都不太了解,為了讓大家更加了解,丸趣 TV 小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

MySQL 數(shù)據(jù)庫建立外鍵失敗的原因有哪些

1. 兩個字段的類型或者大小不嚴格匹配,例如,如果一個是 INT(10), 那么外鍵也必須設(shè)置成 INT(10), 而不是 INT(11) 也不能是 TINYINT. 你得使用 SHOW 命令來查看字段的大小,因為一些查詢?yōu)g覽器有時候把 int(10) 和 int(11) 都顯示為 integer。另外,你還必須確定兩個字段是否一個為 SIGNED, 而另一個又是 UNSIGNED, 這兩字段必須嚴格地一致匹配,更多關(guān)于 signed 和 unsigned 的信息,請參閱:http://www.verysimple.com/blog/p=57。

2. 你試圖引用的其中一個外鍵沒有建立起索引,或者不是一個 primarykey, 如果其中一個不是 primarykey 的,你必須為它創(chuàng)建一個索引。

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

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

MySQL 數(shù)據(jù)庫建立外鍵失敗的原因有哪些

5. 你可能設(shè)置了 ONDELETESETNULL, 但是相關(guān)的鍵的字段又設(shè)置成了 NOTSNULL 值。你可能通過修改 cascade 的屬性值或者把字段屬性設(shè)置成 allownull 來搞定這個 bug.

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

7. 你可能設(shè)置為外鍵設(shè)置了一個默認值,如 default=0。

8. 在這個關(guān)系里面,其中的一個字段是一個混合鍵值中的一個,它沒有自己獨立的索引,這時,你必須為它創(chuàng)建一個獨立的索引。

9.ALTER 聲明中有語法錯誤。

看完上述內(nèi)容,你們對 MySQL 數(shù)據(jù)庫中建立外鍵失敗的原因有哪些有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注丸趣 TV 行業(yè)資訊頻道,感謝大家的支持。

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-08-03發(fā)表,共計946字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 德昌县| 桐城市| 澄迈县| 睢宁县| 蒲江县| 巍山| 浮梁县| 文化| 荥阳市| 金阳县| 乐安县| 兴安县| 繁昌县| 郸城县| 顺平县| 济南市| 金塔县| 梅河口市| 甘孜| 南丹县| 土默特左旗| 岳阳市| 临猗县| 辉县市| 南宁市| 临夏县| 新宾| 淄博市| 嘉祥县| 舞钢市| 遂川县| 富宁县| 织金县| 涪陵区| 馆陶县| 镇坪县| 津南区| 江都市| 富民县| 金阳县| 清河县|