亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MYSQL建立外鍵失敗幾種情況記錄Can't create table不能創(chuàng)建表

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

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

1、 兩個字段的類型或者大小不嚴格匹配,例如,如果一個是INT(10), 那么外鍵也必須設置成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、 你試圖引用的其中一個外鍵沒有建立起索引,或者不是一個primary key , 如果其中一個不是primary key 的,你必須為它創(chuàng)建一個索引。

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

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

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

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

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

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

9、 ALTER 聲明中有語法錯誤

最后:建立外鍵有點麻煩,可以直接用Myeclipse生成ddl。。。

相關(guān)文章

  • mysql 修改用戶密碼圖文介紹

    mysql 修改用戶密碼圖文介紹

    有許多朋友經(jīng)常需要修改mysql修改用戶密碼,今天提供圖文并茂來解決此類問題,需要的朋友可以參考下
    2012-11-11
  • mysql免安裝版的實際配置方法

    mysql免安裝版的實際配置方法

    本文主要向大家講述的是MySQL 免安裝版的實際配置方法,以及對其的相關(guān)的下載網(wǎng)址也有詳細介紹,望你會有所收獲。
    2010-08-08
  • Centos7系統(tǒng)下Mysql主從同步配置方案

    Centos7系統(tǒng)下Mysql主從同步配置方案

    這篇文章主要給大家介紹了關(guān)于Centos7系統(tǒng)下Mysql主從同步配置的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Mysql具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-09-09
  • mysql通過查看跟蹤日志跟蹤執(zhí)行的sql語句

    mysql通過查看跟蹤日志跟蹤執(zhí)行的sql語句

    在SQL SERVER下跟蹤sql采用事件探查器,而在mysql下如何跟蹤sql呢,下面有個不錯的方法,大家可以參考下
    2014-01-01
  • mysql?sock?文件解析及作用講解

    mysql?sock?文件解析及作用講解

    這篇文章主要為大家介紹了mysql.sock?文件解析及作用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • 詳解MySQL的用戶密碼過期功能

    詳解MySQL的用戶密碼過期功能

    這篇文章主要為大家詳細介紹了MySQL的用戶密碼過期功能的相關(guān)資料,需要的朋友可以參考下
    2016-02-02
  • Windows下MySQL下載與安裝、配置與使用教程

    Windows下MySQL下載與安裝、配置與使用教程

    這篇文章主要為大家詳細介紹了Windows下MySQL下載與安裝、配置與使用教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • MySQL數(shù)據(jù)庫中CAST與CONVERT函數(shù)實現(xiàn)類型轉(zhuǎn)換的講解

    MySQL數(shù)據(jù)庫中CAST與CONVERT函數(shù)實現(xiàn)類型轉(zhuǎn)換的講解

    今天小編就為大家分享一篇關(guān)于MySQL數(shù)據(jù)庫中CAST與CONVERT函數(shù)實現(xiàn)類型轉(zhuǎn)換的講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • MySQL計劃任務(事件調(diào)度器) Event Scheduler介紹

    MySQL計劃任務(事件調(diào)度器) Event Scheduler介紹

    MySQL5.1.x版本中引入了一項新特性EVENT,顧名思義就是事件、定時任務機制,在指定的時間單元內(nèi)執(zhí)行特定的任務,因此今后一些對數(shù)據(jù)定時性操作不再依賴外部程序,而直接使用數(shù)據(jù)庫本身提供的功能
    2013-10-10
  • CentOS6.8使用cmake安裝MySQL5.7.18

    CentOS6.8使用cmake安裝MySQL5.7.18

    這篇文章主要為大家詳細介紹了CentOS6.8使用cmake安裝MySQL5.7.18的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04

最新評論