mysql外鍵創(chuàng)建不成功/失效如何處理
當(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)文章希望大家以后多多支持腳本之家!
- MySQL 創(chuàng)建主鍵,外鍵和復(fù)合主鍵的語(yǔ)句
- mysql外鍵(Foreign Key)介紹和創(chuàng)建外鍵的方法
- MySQL外鍵創(chuàng)建失敗1005原因匯總
- MYSQL建立外鍵失敗幾種情況記錄Can''t create table不能創(chuàng)建表
- MySQL創(chuàng)建數(shù)據(jù)表并建立主外鍵關(guān)系詳解
- MySQL無(wú)法創(chuàng)建外鍵的原因及解決方法
- 解析MySQL創(chuàng)建外鍵關(guān)聯(lián)錯(cuò)誤 - errno:150
- 解析在MySQL里創(chuàng)建外鍵時(shí)ERROR 1005的解決辦法
相關(guān)文章
MySQL 4G內(nèi)存服務(wù)器配置優(yōu)化
MySQL對(duì)于web架構(gòu)性能的影響最大,也是關(guān)鍵的核心部分。下面我們了解一下MySQL優(yōu)化的一些基礎(chǔ),MySQL自身(my.cnf)的優(yōu)化2017-07-07
MySQL查詢表中重復(fù)數(shù)據(jù)的實(shí)現(xiàn)
在數(shù)據(jù)庫(kù)中,我們經(jīng)常需要查詢重復(fù)字段來(lái)確保數(shù)據(jù)的準(zhǔn)確性,如果數(shù)據(jù)中有重復(fù)字段,則可能會(huì)導(dǎo)致查詢結(jié)果錯(cuò)誤,本文就想詳細(xì)的介紹了MySQL查詢表中重復(fù)數(shù)據(jù),感興趣的可以了解一下2023-08-08
MYSQL統(tǒng)計(jì)總條數(shù)(需去重)使用的辦法總結(jié)
在數(shù)據(jù)庫(kù)操作中,經(jīng)常需要處理重復(fù)數(shù)據(jù)的問(wèn)題,尤其是在進(jìn)行數(shù)據(jù)匯總或統(tǒng)計(jì)時(shí),這篇文章主要介紹了MYSQL統(tǒng)計(jì)總條數(shù)(需去重)使用的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-11-11
MySQL排序機(jī)制之獲取最后10條數(shù)據(jù)的正確方法
在日志分析、最新數(shù)據(jù)展示等場(chǎng)景中,我們常需獲取排序后的最后N條數(shù)據(jù),傳統(tǒng)思維認(rèn)為直接使用ORDER BY ... DESC LIMIT N即可,但實(shí)測(cè)發(fā)現(xiàn)這種寫法在大數(shù)據(jù)量下性能驟降,本文將深入解析MySQL排序機(jī)制,揭秘高效獲取最后10條數(shù)據(jù)的科學(xué)方法,需要的朋友可以參考下2026-02-02
從零開始MySQL觸發(fā)器實(shí)戰(zhàn)攻略
想要掌握MySQL觸發(fā)器的實(shí)戰(zhàn)技巧嗎?從零開始,跟我一起揭開觸發(fā)器神秘的面紗!輕松入門,迅速提升,這個(gè)指南將讓你的MySQL技能煥然一新!一探究竟,驚喜等你發(fā)現(xiàn)!2024-02-02

