mysql外鍵創(chuàng)建不成功/失效如何處理
當前mysql版本:SELECT VERSION();結(jié)果為:5.5.40。
在復(fù)習(xí)mysql外鍵約束時創(chuàng)建表格:stu與grade,目標:grade的id隨著student的id級聯(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)外鍵仿佛沒有添加成功,即grade表的id字段不會隨著student表的id字段更新,且沒有刪除的限制。
經(jīng)過排查發(fā)現(xiàn)是表的引擎不對(MyISAM不支持外鍵,InnoDB支持)使用了:MyISAM
使用語句為:
SHOW TABLE STATUS FROM fuxi WHERE NAME LIKE 'grade';
因此將創(chuàng)建grade表的語句指定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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- MySQL 創(chuàng)建主鍵,外鍵和復(fù)合主鍵的語句
- mysql外鍵(Foreign Key)介紹和創(chuàng)建外鍵的方法
- MySQL外鍵創(chuàng)建失敗1005原因匯總
- MYSQL建立外鍵失敗幾種情況記錄Can''t create table不能創(chuàng)建表
- MySQL創(chuàng)建數(shù)據(jù)表并建立主外鍵關(guān)系詳解
- MySQL無法創(chuàng)建外鍵的原因及解決方法
- 解析MySQL創(chuàng)建外鍵關(guān)聯(lián)錯誤 - errno:150
- 解析在MySQL里創(chuàng)建外鍵時ERROR 1005的解決辦法
相關(guān)文章
MySQL 4G內(nèi)存服務(wù)器配置優(yōu)化
MySQL對于web架構(gòu)性能的影響最大,也是關(guān)鍵的核心部分。下面我們了解一下MySQL優(yōu)化的一些基礎(chǔ),MySQL自身(my.cnf)的優(yōu)化2017-07-07
MySQL查詢表中重復(fù)數(shù)據(jù)的實現(xiàn)
在數(shù)據(jù)庫中,我們經(jīng)常需要查詢重復(fù)字段來確保數(shù)據(jù)的準確性,如果數(shù)據(jù)中有重復(fù)字段,則可能會導(dǎo)致查詢結(jié)果錯誤,本文就想詳細的介紹了MySQL查詢表中重復(fù)數(shù)據(jù),感興趣的可以了解一下2023-08-08
MYSQL統(tǒng)計總條數(shù)(需去重)使用的辦法總結(jié)
在數(shù)據(jù)庫操作中,經(jīng)常需要處理重復(fù)數(shù)據(jù)的問題,尤其是在進行數(shù)據(jù)匯總或統(tǒng)計時,這篇文章主要介紹了MYSQL統(tǒng)計總條數(shù)(需去重)使用的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2025-11-11
MySQL排序機制之獲取最后10條數(shù)據(jù)的正確方法
在日志分析、最新數(shù)據(jù)展示等場景中,我們常需獲取排序后的最后N條數(shù)據(jù),傳統(tǒng)思維認為直接使用ORDER BY ... DESC LIMIT N即可,但實測發(fā)現(xiàn)這種寫法在大數(shù)據(jù)量下性能驟降,本文將深入解析MySQL排序機制,揭秘高效獲取最后10條數(shù)據(jù)的科學(xué)方法,需要的朋友可以參考下2026-02-02

