欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql外鍵創(chuàng)建不成功/失效如何處理

 更新時(shí)間:2025年01月27日 09:13:52   作者:思wu邪  
文章介紹了在MySQL 5.5.40版本中,創(chuàng)建帶有外鍵約束的`stu`和`grade`表時(shí)遇到的問(wèn)題,發(fā)現(xiàn)`grade`表的`id`字段沒(méi)有隨著`student`表的`id`字段更新,并且沒(méi)有刪除的限制,問(wèn)題的原因是使用了不支持外鍵的`MyISAM`引擎,而使用了支持外鍵的`InnoDB`引擎即可解決

當(dāng)前mysql版本:SELECT VERSION();結(jié)果為:5.5.40。

在復(fù)習(xí)mysql外鍵約束時(shí)創(chuàng)建表格:stu與grade,目標(biāo):grade的id隨著student的id級(jí)聯(lián)更新,且限制刪除。

創(chuàng)建student表格:

CREATE TABLE student (
     id INT ( 8 ),
     NAME VARCHAR ( 20 ),
     department VARCHAR ( 20 ),
 INDEX ( id )) ENGINE = INNODB;

創(chuàng)建grade表格:

CREATE TABLE grade (
     id INT PRIMARY KEY auto_increment,
     score INT NOT NULL,
     stu_id INT,
     index( id ),
     CONSTRAINT yueshu1 FOREIGN KEY ( id ) REFERENCES student ( id ) ON DELETE RESTRICT ON UPDATE CASCADE 
     )ENGINE = INNODB ;

原以為已經(jīng)成功,且發(fā)現(xiàn)外鍵仿佛沒(méi)有添加成功,即grade表的id字段不會(huì)隨著student表的id字段更新,且沒(méi)有刪除的限制。

經(jīng)過(guò)排查發(fā)現(xiàn)是表的引擎不對(duì)(MyISAM不支持外鍵,InnoDB支持)使用了:MyISAM

使用語(yǔ)句為:

SHOW TABLE STATUS FROM fuxi WHERE NAME LIKE 'grade';

因此將創(chuàng)建grade表的語(yǔ)句指定engine=INNODB即可:

CREATE TABLE grade (
     id INT PRIMARY KEY auto_increment,
     score INT NOT NULL,
     stu_id INT,
     index( id ),
     CONSTRAINT yueshu1 FOREIGN KEY ( id ) REFERENCES student ( id ) ON DELETE RESTRICT ON UPDATE CASCADE 
     )ENGINE = INNODB ;

到此這篇關(guān)于mysql外鍵創(chuàng)建不成功/失效如何處理的文章就介紹到這了,更多相關(guān)mysql外鍵創(chuàng)建不成功/失效內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳細(xì)講述MySQL中的子查詢操作

    詳細(xì)講述MySQL中的子查詢操作

    這篇文章主要介紹了詳細(xì)講述MySQL中的子查詢操作,文中也給出了具體的代碼實(shí)例講解,需要的朋友可以參考下
    2015-04-04
  • 深入MYSQL字符數(shù)字轉(zhuǎn)換的詳解

    深入MYSQL字符數(shù)字轉(zhuǎn)換的詳解

    本篇文章是對(duì)MYSQL中的字符數(shù)字轉(zhuǎn)換進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • Mysql join連接查詢的語(yǔ)法與示例

    Mysql join連接查詢的語(yǔ)法與示例

    這篇文章主要給大家介紹了關(guān)于Mysql join連接查詢的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 最新評(píng)論