mysql創(chuàng)建的外鍵無法保存的原因以及處理辦法
為mysql表內(nèi)的字段創(chuàng)建外鍵,并關(guān)聯(lián)幾種更新或者刪除時的動作。

那以下就向大家介紹下mysql創(chuàng)建的外鍵無法保存的原因以及處理方法
無報錯,但是創(chuàng)建的外鍵都消失了,只能在索引找到之前創(chuàng)建的相關(guān)外鍵
原因
mysql引擎的原因,mysql主要使用兩種引擎:myisam以及innodb(兩者區(qū)別大家可以去看下我別的文章:php面試重點mysql存儲引擎innodb和myisam的區(qū)別),phpstudy默認使用的myisam引擎,在不作任何改變的情況下直接建表,往往建立的是就是以myisam引擎為基礎(chǔ)的,而myisam區(qū)別于innodb的一個明顯不同是myisam不能創(chuàng)建外鍵,因此創(chuàng)建外鍵不能成功。
解決方法
首先判斷是否是這個問題引起的不能創(chuàng)建外鍵:

如果是myisam引起的問題的話:
myisam引擎的表格是可以直接修改成innodb引擎的:
首先判斷mysql的my.ini是否有打開innodb。(如果沒有的話,在修改引擎那里,是沒有innodb選項的)
這里以phpstudy為實例(不同的mysql軟件都是修改my.ini文件)

進入之后顯示的是my,ini文件,然后按照綠色字體的提示修改即可。

(右鍵需要修改的表格,選擇“設(shè)計表“,然后做如下操作)

注意:
一個數(shù)據(jù)庫要統(tǒng)一使用的引擎,如果某個表修改了引擎,那其他的也要跟著修改,預(yù)防報錯,然后在修改的同時,要注意編碼格式,要保持表編碼的統(tǒng)一(不然在后面創(chuàng)建外鍵的時候會報錯),
如下:

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
淺談MySql?update會鎖定哪些范圍的數(shù)據(jù)
本文主要介紹了記錄一下MySql?update會鎖定哪些范圍的數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
Mysql將一個表中的某一列數(shù)據(jù)復(fù)制到另一個表中某一列里的方法
今天小編就為大家分享一篇關(guān)于Mysql將一個表中的某一列數(shù)據(jù)復(fù)制到另一個表中某一列里的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03
基于mysql實現(xiàn)group by取各分組最新一條數(shù)據(jù)
這篇文章主要介紹了基于mysql實現(xiàn)group by取各分組最新一條數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-09-09
mysql高級學(xué)習(xí)之索引的優(yōu)劣勢及規(guī)則使用
這篇文章主要給大家介紹了關(guān)于mysql高級學(xué)習(xí)之索引的優(yōu)劣勢及規(guī)則使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03

