數據庫外鍵不能創建的緣由及解決方法

最近在使用MySql的時候,給一張表添加外鍵,可是點擊保存以後,外鍵會消失不見了。緣由多是如下兩種:數據庫

第一將數據庫中的錶轉儲爲SQL文件,而後,查看是否有如下語句:性能

SET FOREIGN_KEY_CHECKS=0;事務

這會讓表的外鍵失效,便於修改外鍵參考的字段,解決方案是將其設置爲1,即數據

SET FOREIGN_KEY_CHECKS=1;文件

若是修改後導入運行仍是不能創建外鍵,那麼多是第二種緣由。解決方案

第二是查看錶的類型若是表的類型是否爲MyISAM,由於MyISAM不支持事物管理,其與InnoDB基本的差異爲:事務處理

  • MyISAM類型不支持事務處理等高級處理,而InnoDB類型支持。
  • MyISAM類型的表強調的是性能,其執行數度比InnoDB類型更快,可是不提供事務支持
  • InnoDB提供事務支持以及外部鍵等高級數據庫功能。
相關文章
相關標籤/搜索