最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解析MySQL創(chuàng)建外鍵關聯(lián)錯誤 - errno:150

 更新時間:2013年06月14日 10:14:59   作者:  
本篇文章是對MySQL創(chuàng)建外鍵關聯(lián)錯誤-errno:150進行了詳細的分析介紹,需要的朋友參考下

當你試圖在mysql中創(chuàng)建一個外鍵的時候,這個出錯會經常發(fā)生,這是非常令人沮喪的。像這種不能創(chuàng)建一個.frm 文件的報錯好像暗示著操作系統(tǒng)的文件的權限錯誤或者其它原因,但實際上,這些都不是的,事實上,這個mysql報錯已經被報告是一個mysql本身的bug并出現(xiàn)在mysql 開發(fā)者列表當中很多年了,然而這似乎又是一種誤導。

在很多實例中,這種錯誤的發(fā)生都是因為mysql一直以來都不能很好的支持的關系的問題, 更不幸的是它也并沒有指明到底是哪一個問題會導致上面那種錯誤,下面我把導致這個可怕 的150錯誤的常見原因列出來了,并且我以可能性的大小作了排序

已知的原因:

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

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

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

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

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

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

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

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

9, ALTER 聲明中有語法錯誤

10. 要連接的兩個表的編碼格式不同

相關文章

  • MySQL中的 inner join 和 left join的區(qū)別解析(小結果集驅動大結果集)

    MySQL中的 inner join 和 left join的區(qū)別解析

    這篇文章主要介紹了MySQL中的 inner join 和 left join的區(qū)別解析,本文通過場景描述給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • SQL索引失效的11種情況詳析

    SQL索引失效的11種情況詳析

    索引并不是時時都會生效的,遇到一些情況將導致索引失效,下面這篇文章主要給大家介紹了關于SQL索引失效的11種情況,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-03-03
  • SQL行列轉換超詳細四種方法詳解

    SQL行列轉換超詳細四種方法詳解

    在數(shù)據分析的面試中SQL問題基本上是必問的,其中SQL行列轉換的問題出鏡率極其高,重要性也是不言而喻,下面這篇文章主要給大家介紹了關于SQL行列轉換超詳細四種方法的相關資料,需要的朋友可以參考下
    2022-12-12
  • 基于MySql驗證的vsftpd虛擬用戶

    基于MySql驗證的vsftpd虛擬用戶

    這篇文章主要介紹了基于MySql驗證的vsftpd虛擬用戶,文章包括mysql安裝及ftp服務器安裝過程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-11-11
  • 一文帶你學會MySQL的select語句

    一文帶你學會MySQL的select語句

    在MySQL中可以使用SELECT語句來查詢數(shù)據,查詢數(shù)據是指從數(shù)據庫中根據需求,使用不同的查詢方式來獲取不同的數(shù)據,是使用頻率最高、最重要的操作,下面這篇文章主要給大家介紹了關于MySQL中select語句的相關資料,需要的朋友可以參考下
    2022-11-11
  • linux下指定mysql數(shù)據庫服務器主從同步的配置實例

    linux下指定mysql數(shù)據庫服務器主從同步的配置實例

    linux下指定數(shù)據庫服務器主從同步的配置實例,有需要的朋友可以參考下
    2013-01-01
  • mysql 8.0.18 安裝配置圖文教程

    mysql 8.0.18 安裝配置圖文教程

    這篇文章主要為大家詳細介紹了mysql 8.0.18 安裝配置圖文教程,文中安裝步驟介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Mysql去重的幾種方式分步講解

    Mysql去重的幾種方式分步講解

    SQL去重是數(shù)據分析工作中比較常見的一個場景,下面這篇文章主要給大家介紹了關于SQL去重的3種實用方法的相關資料,文中通過圖文以及實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • 詳細介紹mysql中l(wèi)imit與offset的用法

    詳細介紹mysql中l(wèi)imit與offset的用法

    mysql查詢使用select命令,配合limit,offset參數(shù)可以讀取指定范圍的記錄,下面這篇文章主要給大家介紹了關于mysql中l(wèi)imit與offset用法的相關資料,需要的朋友可以參考下
    2022-05-05
  • Mysql 中文排序規(guī)則說明

    Mysql 中文排序規(guī)則說明

    這篇文章主要介紹了Mysql 中文排序規(guī)則說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02

最新評論

东辽县| 澳门| 张家界市| 西城区| 汕头市| 陆川县| 遵义市| 南昌县| 三明市| 清镇市| 阳高县| 沧源| 伊吾县| 东山县| 黄山市| 阜阳市| 黎城县| 台北市| 张家川| 攀枝花市| 庄浪县| 德保县| 福州市| 原平市| 南涧| 资中县| 桐城市| 阜平县| 丹巴县| 富阳市| 松原市| 申扎县| 千阳县| 望谟县| 大庆市| 昌吉市| 马尔康县| 海城市| 新郑市| 新和县| 四平市|