MySQL刪除外鍵、增加外鍵以及刪除主鍵、增加主鍵的實(shí)戰(zhàn)步驟
一、MySQL刪除外鍵
格式:
alter table 表名 drop foreign key 外鍵名;
表名就是有外鍵存在的那個(gè)表。
外鍵名可以通過(guò)查看表的創(chuàng)建信息得到。
查看表的創(chuàng)建信息格式:
show create table 表名;
二、MySQL增加外鍵
外鍵可以在修改表時(shí)添加,但是添加外鍵的前提是:
從表中外鍵列中的數(shù)據(jù)必須與主表中主鍵列中的數(shù)據(jù)一致或沒(méi)有數(shù)據(jù)
給表增加外鍵格式:
alter? table??需要添加外鍵的表名? add? constraint??外鍵名? foreign? key(本表字段列表)? references??主表名(字段列表);
在創(chuàng)建數(shù)據(jù)表時(shí)添加外鍵格式:
constraint??外鍵名? foreign? key(本表字段列表)? references??主表名? (主表字段列表);
注意:
1、外鍵字段的數(shù)據(jù)類型必須與父表中的主鍵類型一致
2、添加外鍵的數(shù)據(jù)表的存儲(chǔ)引擎必須是InnoDB,否則即使添加外鍵成功,也不具有外鍵約束的作用。
3、一張表中不能出現(xiàn)同名外鍵
4、當(dāng)外鍵字段中有值后,再添加外鍵時(shí),已有的值必須在父類主鍵中,否則無(wú)法創(chuàng)建成功。
三、MySQL刪除主鍵
格式:
alter table 表名 drop primary key;
四、MySQL增加主鍵
格式:
alter? table 表名? add? primary key(字段列表);
在創(chuàng)建數(shù)據(jù)表時(shí)添加主鍵格式:
字段名 數(shù)據(jù)類型 primary key;
注意:
1、一個(gè)數(shù)據(jù)表主鍵約束只能有一個(gè)。
2、主鍵的字段不允許空值。
補(bǔ)充:MySQL中有外鍵時(shí)數(shù)據(jù)表的刪除方法
直接刪除grade,被引用的數(shù)據(jù)表時(shí)如下
報(bào)錯(cuò)
解決方法
先刪除student,要引用的數(shù)據(jù)表
然后刪除grade,被引用的數(shù)據(jù)表
成功
總結(jié)
到此這篇關(guān)于MySQL刪除外鍵、增加外鍵以及刪除主鍵、增加主鍵的文章就介紹到這了,更多相關(guān)MySQL刪除增加外鍵及刪除增加主鍵內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MYSQL大小寫(xiě)不敏感導(dǎo)致用戶登錄異常問(wèn)題
這篇文章主要介紹了MYSQL大小寫(xiě)不敏感導(dǎo)致用戶登錄異常問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04mysql -參數(shù)thread_cache_size優(yōu)化方法 小結(jié)
以下是某門(mén)戶網(wǎng)站的mysql狀態(tài)實(shí)例及分析過(guò)程,絕對(duì)的第一手?jǐn)?shù)據(jù)資料,很生動(dòng)的體現(xiàn)了參數(shù)thread_cache_size優(yōu)化的效果及優(yōu)化該參數(shù)的必要性,希望對(duì)各位系統(tǒng)管理員能有幫助。2011-03-03Mysql實(shí)現(xiàn)定時(shí)清空一張表的舊數(shù)據(jù)并保留幾條數(shù)據(jù)(推薦)
這篇文章主要介紹了Mysql實(shí)現(xiàn)定時(shí)清空一張表的舊數(shù)據(jù)并保留幾條數(shù)據(jù),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12Windows系統(tǒng)下MySQL添加到系統(tǒng)服務(wù)方法(mysql解壓版)
這篇文章主要介紹了Windows系統(tǒng)下MySQL添加到系統(tǒng)服務(wù)方法,主要針對(duì)mysql解壓版,感興趣的朋友參考下吧2016-05-05