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

mysql創(chuàng)建外鍵報錯的原因及解決(can't?not?create?table)

 更新時間:2022年09月27日 09:33:27   作者:GroovRain  
這篇文章主要介紹了mysql創(chuàng)建外鍵報錯的原因及解決方案(can't?not?create?table),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

最近在玩數(shù)據(jù)庫的時候,偶爾會有外鍵創(chuàng)建不成功的時候,于是上網(wǎng)查閱資料,整合自己的理解有了以下這篇文章:

mysql創(chuàng)建外鍵不成功的原因及處理方法

第一種情況

外鍵的字段與關(guān)聯(lián)的字段的類型不匹配(包括編碼格式的不匹配):

兩個不同的表格(一個是record(借書記錄表),一個是reader(讀者信息表)):然后關(guān)聯(lián)的兩個readerid 字段要保持一致,包括長度,類型要保持一致。

然后是編碼格式

兩個表的引擎,字符集要保持一致,這樣才能關(guān)聯(lián)成功;

另外,若讀者對表的設(shè)計有unsign與sign的設(shè)定,要注意設(shè)定的外鍵的字段與關(guān)聯(lián)的字段也要保持一致。

第二種情況

外鍵的名字是一個已經(jīng)存在的鍵值,要保證名字的唯一,如下:

一般創(chuàng)建外鍵名字的時候是用 表名+FK+數(shù)字來區(qū)別于其他外鍵 ,如上表是record表,創(chuàng)建的外鍵名字是recordFK1,recordFK2等等.

可以嘗試,在外鍵名字后面加幾個數(shù)字判斷是否是這個引起的錯誤。

第三種情況

mysql引擎引起的外鍵創(chuàng)建不能保存或者不能發(fā)揮作用的情況,mysql一般的默認(rèn)引擎是myisam,而myisam是不能創(chuàng)建外鍵的。

具體的判斷方法以及問題處理方法大家可以去博主的另外一篇博客查看:mysql創(chuàng)建外鍵無法保存的原因及處理

第四種情況

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

第五種情況

外鍵的動作設(shè)置成on delete set null 或者 on update set null,但是在關(guān)聯(lián)的表的字段又設(shè)置的no null,導(dǎo)致沖突:

(這張表是正確操作)

而錯誤操作是, 外鍵設(shè)定了 當(dāng)admin的 username更新時,這張表(traffic)會跟著把關(guān)聯(lián)的字段設(shè)為null

而在traffic這張表的對應(yīng) username字段(本來應(yīng)該null的),但是卻設(shè)定了 不允許為空,引起的沖突。

解決方法:設(shè)置為CASCADE級聯(lián)更新,或者修改為允許為空。

第六種情況

在navicat設(shè)定的表格主鍵中 有 主鍵1,主鍵2,主鍵3,的區(qū)別,主鍵1不能被級聯(lián)更新(刪除)(CASCADE)

第七種情況

外鍵存在默認(rèn)值,引起的沖突

第八種情況

混合鍵值缺少索引引起的情況,需要為他單獨(dú)申請索引

第九種情況

在sql語句創(chuàng)建外鍵時,create 或者 alter語法錯誤

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 在win10系統(tǒng)下安裝Mysql 5.7.17圖文教程

    在win10系統(tǒng)下安裝Mysql 5.7.17圖文教程

    因?yàn)橄胍诠倦娔X上安裝Mysql,于是到官網(wǎng)上下載了最新版本的Mysql-5.7.17,其實(shí)安裝方法也很簡單,下面小編把安裝過程分享到腳本之家平臺供大家參考
    2017-03-03
  • MySQL Packet for query is too large 問題及解決方法

    MySQL Packet for query is too large 問題及解決方法

    這篇文章主要介紹了MySQL Packet for query is too large 問題及解決方法,需要的朋友可以參考下
    2018-05-05
  • Mysql中find_in_set()函數(shù)用法詳解以及使用場景

    Mysql中find_in_set()函數(shù)用法詳解以及使用場景

    前幾天在sql查詢的時候,想要判斷數(shù)據(jù)庫中表的某一列中的值是否在List集合中,接觸到了find_in_set的使用,用起來方便快捷,下面這篇文章主要給大家介紹了關(guān)于Mysql中find_in_set()函數(shù)用法詳解以及使用場景的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • MySQL日志維護(hù)策略匯總

    MySQL日志維護(hù)策略匯總

    這篇文章主要介紹了MySQL日志維護(hù)策略匯總,需要的朋友可以參考下
    2015-08-08
  • MySQL外鍵創(chuàng)建失敗1005原因匯總

    MySQL外鍵創(chuàng)建失敗1005原因匯總

    MySQL外鍵創(chuàng)建失敗1005原因有很多,本文整理了一些,希望對大家有所幫助
    2014-01-01
  • MySQL中進(jìn)行跨庫查詢的方法示例

    MySQL中進(jìn)行跨庫查詢的方法示例

    這篇文章主要給大家介紹了關(guān)于MySQL中進(jìn)行跨庫查詢的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 如何在Windows中運(yùn)行多個MySQL實(shí)例詳解

    如何在Windows中運(yùn)行多個MySQL實(shí)例詳解

    這篇文章主要給大家介紹了關(guān)于如何在Windows中運(yùn)行多個MySQL實(shí)例的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • MySQL配置文件無法修改的解決方法(Win10)

    MySQL配置文件無法修改的解決方法(Win10)

    這篇文章主要為大家詳細(xì)介紹了MySQL配置文件無法修改的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • MySQL MGR 有哪些優(yōu)點(diǎn)

    MySQL MGR 有哪些優(yōu)點(diǎn)

    這篇文章主要介紹了MySQL MGR 有哪些優(yōu)點(diǎn),文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí)MySQL mgr,感興趣的朋友可以了解下
    2020-08-08
  • Mysql主從復(fù)制作用和工作原理詳解

    Mysql主從復(fù)制作用和工作原理詳解

    這篇文章主要介紹了Mysql主從復(fù)制作用和工作原理詳解,主從復(fù)制,是用來建立一個和主數(shù)據(jù)庫完全一樣的數(shù)據(jù)庫環(huán)境,稱為從數(shù)據(jù)庫,主數(shù)據(jù)庫一般是準(zhǔn)實(shí)時的業(yè)務(wù)數(shù)據(jù)庫,需要的朋友可以參考下
    2019-07-07

最新評論

商都县| 衡阳市| 尼玛县| 桦南县| 曲水县| 调兵山市| 巴林右旗| 英山县| 垫江县| 沐川县| 应用必备| 白玉县| 惠东县| 临漳县| 乌审旗| 黑水县| 安化县| 临桂县| 清新县| 城固县| 孝感市| 溧水县| 视频| 聂拉木县| 阿勒泰市| 鄯善县| 开阳县| 抚松县| 那坡县| 新疆| 吴堡县| 北宁市| 连江县| 丰宁| 临城县| 龙海市| 郎溪县| 东阳市| 竹山县| 建阳市| 牙克石市|