亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

MySQL無法創建外鍵的原因及解決方法

2024-07-24 13:14:44
字體:
來源:轉載
供稿:網友

關聯2張表時出現了無法創建外鍵的情況,從這個博客看到,問題出在第六點的Charset和Collate選項在表級和字段級上的一致性上。我的2張表的編碼charset和collate不一致,2張表都執行執行SQL語句:

alter table 表名 convert to character set utf8;

完美解決問題;

ps:下面看下MySQL無法創建外鍵、查詢外鍵的屬性

MyISAM 和InnoDB 講解

  InnoDB和MyISAM是許多人在使用MySQL時最常用的兩個表類型,這兩個表類型各有優劣,視具體應用而定?;镜牟顒e為:MyISAM類型不支持事務處理等高級處理,而InnoDB類型支持。MyISAM類型的表強調的是性能,其執行數度比InnoDB類型更快,但是不提供事務支持,而InnoDB提供事務支持以及外部鍵等高級數據庫功能。

  以下是一些細節和具體實現的差別:

  ◆1.InnoDB不支持FULLTEXT類型的索引。

  ◆2.InnoDB 中不保存表的具體行數,也就是說,執行select count(*) from table時,InnoDB要掃描一遍整個表來計算有多少行,但是MyISAM只要簡單的讀出保存好的行數即可。注意的是,當count(*)語句包含 where條件時,兩種表的操作是一樣的。

  ◆3.對于AUTO_INCREMENT類型的字段,InnoDB中必須包含只有該字段的索引,但是在MyISAM表中,可以和其他字段一起建立聯合索引。

  ◆4.DELETE FROM table時,InnoDB不會重新建立表,而是一行一行的刪除。

  ◆5.LOAD TABLE FROM MASTER操作對InnoDB是不起作用的,解決方法是首先把InnoDB表改成MyISAM表,導入數據后再改成InnoDB表,但是對于使用的額外的InnoDB特性(例如外鍵)的表不適用。

  另外,InnoDB表的行鎖也不是絕對的,假如在執行一個SQL語句時MySQL不能確定要掃描的范圍,InnoDB表同樣會鎖全表,例如update table set num=1 where name like “%aaa%”

  兩種類型最主要的差別就是Innodb 支持事務處理與外鍵和行級鎖。而MyISAM不支持.所以MyISAM往往就容易被人認為只適合在小項目中使用。

  作為使用MySQL的用戶角度出發,Innodb和MyISAM都是比較喜歡的,如果數據庫平臺要達到需求:99.9%的穩定性,方便的擴展性和高可用性來說的話,MyISAM絕對是首選。

  原因如下:

  1、平臺上承載的大部分項目是讀多寫少的項目,而MyISAM的讀性能是比Innodb強不少的。

  2、MyISAM的索引和數據是分開的,并且索引是有壓縮的,內存使用率就對應提高了不少。能加載更多索引,而Innodb是索引和數據是緊密捆綁的,沒有使用壓縮從而會造成Innodb比MyISAM體積龐大不小。

  3、經常隔1,2個月就會發生應用開發人員不小心update一個表where寫的范圍不對,導致這個表沒法正常用了,這個時候MyISAM的優越性就體現出來了,隨便從當天拷貝的壓縮包取出對應表的文件,隨便放到一個數據庫目錄下,然后dump成sql再導回到主庫,并把對應的binlog補上。如果是Innodb,恐怕不可能有這么快速度,別和我說讓Innodb定期用導出xxx.sql機制備份,因為最小的一個數據庫實例的數據量基本都是幾十G大小。

  4、從接觸的應用邏輯來說,select count(*) 和order by 是最頻繁的,大概能占了整個sql總語句的60%以上的操作,而這種操作Innodb其實也是會鎖表的,很多人以為Innodb是行級鎖,那個只是where對它主鍵是有效,非主鍵的都會鎖全表的。

  5、還有就是經常有很多應用部門需要我給他們定期某些表的數據,MyISAM的話很方便,只要發給他們對應那表的frm.MYD,MYI的文件,讓他們自己在對應版本的數據庫啟動就行,而Innodb就需要導出xxx.sql了,因為光給別人文件,受字典數據文件的影響,對方是無法使用的。

  6、如果和MyISAM比insert寫操作的話,Innodb還達不到MyISAM的寫性能,如果是針對基于索引的update操作,雖然MyISAM可能會遜色Innodb,但是那么高并發的寫,從庫能否追的上也是一個問題,還不如通過多實例分庫分表架構來解決。

  7、如果是用MyISAM的話,merge引擎可以大大加快應用部門的開發速度,他們只要對這個merge表做一些select count(*)操作,非常適合大項目總量約幾億的rows某一類型(如日志,調查統計)的業務表。

  當然Innodb也不是絕對不用,用事務的項目就用Innodb的。另外,可能有人會說你MyISAM無法抗太多寫操作,但是可以通過架構來彌補。

SELECT * FROM information_schema.key_column_usage WHERE table_name='表名' ;show create table 表名 ;

總結

以上所述是小編給大家介紹的MySQL無法創建外鍵的原因及解決方法,希望對大家有所幫助!


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品国产免费观看| 久久精品99久久久香蕉| 日韩中文字幕不卡视频| 91在线观看免费高清| 日韩电影在线观看免费| 亚洲国产精品人人爽夜夜爽| 国产亚洲福利一区| 久久影视电视剧免费网站| 欧美国产在线视频| 国产精品白丝jk喷水视频一区| 一色桃子一区二区| 久久国产精品视频| 日韩一二三在线视频播| 精品亚洲国产成av人片传媒| 亚洲国产精品成人一区二区| 欧美日韩午夜视频在线观看| 欧美亚洲在线视频| 伊人久久精品视频| 国产不卡视频在线| 国产在线精品自拍| 精品久久久国产| 日韩av免费一区| 在线亚洲国产精品网| 久久久久久久激情视频| 国产精品视频最多的网站| 久久久久在线观看| 欧美日本黄视频| 久久99久久久久久久噜噜| 日韩中文字幕视频在线| 国产精品电影网| 国产精品亚洲综合天堂夜夜| 欧美日韩中文字幕在线| 在线精品国产成人综合| 欧美久久精品午夜青青大伊人| 久久久久女教师免费一区| 97国产成人精品视频| 久久国产精品久久久久久久久久| 欧美国产视频一区二区| 久久精品久久久久久| 精品久久久国产| 国产日韩精品电影| 8090理伦午夜在线电影| 欧美精品久久久久久久免费观看| 亚洲最大av网站| 国外成人性视频| 久久精品视频在线观看| 国产一区二区三区三区在线观看| 欧美激情xxxx| 久久久精品国产一区二区| 国产精品久久久久久亚洲调教| 国产精品扒开腿做爽爽爽的视频| 成人免费视频a| 欧美视频在线观看免费网址| 欧美成人精品不卡视频在线观看| 国产91精品视频在线观看| 久久视频中文字幕| 亚洲欧美制服中文字幕| 91精品久久久久久久久久久久久久| 中文字幕少妇一区二区三区| 精品久久久久久久大神国产| 亚洲天堂视频在线观看| 国模极品一区二区三区| 亚洲理论在线a中文字幕| 黄色成人在线播放| 亚洲精品美女在线观看| 国产精品爽爽爽爽爽爽在线观看| 国产精品aaa| 欧美野外猛男的大粗鳮| 国产成人+综合亚洲+天堂| 日韩欧美在线第一页| 在线日韩欧美视频| 国产+成+人+亚洲欧洲| 精品亚洲永久免费精品| 欧美日韩亚洲国产一区| 亚洲一区二区三| 亚洲男人天堂2019| 亚洲国产成人在线播放| 国产成人97精品免费看片| 羞羞色国产精品| 91香蕉亚洲精品| 国产精品高潮呻吟久久av无限| 91在线观看免费网站| 亚洲国产私拍精品国模在线观看| 岛国精品视频在线播放| 日韩中文字幕国产| 国产成人久久久精品一区| 国a精品视频大全| 国产日韩欧美91| 久久国产精品影片| 国产精品久久久久久久久免费看| 91爱爱小视频k| 岛国视频午夜一区免费在线观看| 麻豆乱码国产一区二区三区| 欧美黄色成人网| 国产精品羞羞答答| www.日韩.com| 亚洲黄页网在线观看| 日韩高清免费观看| 国产成人精品a视频一区www| 国产精品久久久久久久久免费看| 96pao国产成视频永久免费| 国产在线观看精品一区二区三区| 国产精品久久久久9999| 国产精品99久久久久久人| 欧美午夜激情小视频| 日韩一区在线视频| 日韩av网站在线| 国产91精品在线播放| 亚洲精品一区中文| 国产精品va在线播放| 欧美日韩在线视频一区| 欧美黑人一区二区三区| 国产精品视频男人的天堂| 91精品久久久久久久久青青| 欧美日韩午夜激情| 青青草原一区二区| 久久亚洲国产精品成人av秋霞| 91精品啪在线观看麻豆免费| 国产精品高潮呻吟久久av黑人| 在线国产精品播放| 国产欧美精品xxxx另类| 欧美黑人巨大xxx极品| 色老头一区二区三区在线观看| 欧美日韩综合视频网址| 成人免费网站在线| 国产精品免费一区豆花| 国产精品wwww| 精品国内亚洲在观看18黄| 欧美激情欧美激情| 日本久久久久久久久| 亚洲视频精品在线| 欧美性69xxxx肥| 欧美—级高清免费播放| 亚洲网站在线观看| 欧美日韩中国免费专区在线看| 日本一本a高清免费不卡| 日韩在线国产精品| 5566成人精品视频免费| 国产精品入口福利| 日韩欧美在线看| 欧美午夜精品伦理| 中文字幕亚洲一区在线观看| 亚洲jizzjizz日本少妇| 尤物九九久久国产精品的特点| 在线播放精品一区二区三区| 91久久中文字幕| 精品国产电影一区| 亚洲乱码一区av黑人高潮| 伊人伊人伊人久久| 国产欧美日韩精品丝袜高跟鞋| 色偷偷88888欧美精品久久久| 欧美xxxx做受欧美| 秋霞成人午夜鲁丝一区二区三区| 久久久久久亚洲精品| 欧美成人精品三级在线观看| 欧美日韩免费看| 韩剧1988免费观看全集| 欧美久久精品一级黑人c片| 97在线观看视频| 日韩欧美亚洲成人| 日韩在线视频观看正片免费网站| 成人精品视频久久久久| 亚洲欧美另类人妖| 欧美成人第一页|