新聞中心
sql server如何添加外鍵?
1、首先雙擊SQLyogEnt的快捷方式以打開(kāi)軟件;

2、進(jìn)入到軟件首頁(yè),首先創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù),命令為newMysql;
3、創(chuàng)建兩個(gè)表,命令為class、student;
class表結(jié)構(gòu)為id、class_code、class_name;
student表結(jié)構(gòu)為id、class_code、student_code、student_name;
4、創(chuàng)建成功后,在newMysql數(shù)據(jù)庫(kù)列表中就存在了兩個(gè)表;
5、然后我們來(lái)創(chuàng)建外鍵;通過(guò)sql創(chuàng)建:alter table class add foreign key class_foreignKey(id) references student(id);
6、然后也可以對(duì)外鍵進(jìn)行刪除處理;通過(guò)sql刪除:ALTER TABLE class DROP FOREIGN KEY class_foreignKey;
mysql中怎么在一個(gè)表中創(chuàng)建多個(gè)外鍵?
打開(kāi)我的navicat,然后找到我的teacher表,選中它,然后點(diǎn)擊菜單欄上的‘design table'
在彈出的對(duì)話框中找到“Foreign Keys”,然后單機(jī)。
然后會(huì)出現(xiàn)一個(gè)設(shè)置外鍵的界面,一共有七列。簡(jiǎn)單介紹一下這幾列的意思?!畁ame’:可以不填,你一會(huì)保存成功系統(tǒng)會(huì)自動(dòng)生成。FieldName’:就是你要把哪個(gè)鍵設(shè)置為外鍵。這里選擇‘dept’,‘Reference DadaBase’:外鍵關(guān)聯(lián)的數(shù)據(jù)庫(kù)?!甊eference Table‘ :關(guān)聯(lián)的表 這里是dept表‘Forgin filed Names’:關(guān)聯(lián)的的字段,這里是code‘ondelete’:就是刪除的時(shí)候選擇的動(dòng)作。這里我的選擇是setNull,意思就是當(dāng)關(guān)聯(lián)的表刪除以后,teacher》dept字段會(huì)設(shè)置為null.
設(shè)置完成后點(diǎn)擊‘save’保存退出,也可以點(diǎn)擊‘a(chǎn)dd Foreign Key’再添加一個(gè)外鍵。
打開(kāi)我的navicat,然后找到我的teacher表,選中它,然后點(diǎn)擊菜單欄上的‘design table’。如下圖:
在彈出的對(duì)話框中找到“Foreign Keys”,然后單機(jī)。如下圖:
然后會(huì)出現(xiàn)一個(gè)設(shè)置外鍵的界面,一共有七列。簡(jiǎn)單介紹一下這幾列的意思?!畁ame’:可以不填,你一會(huì)保存成功系統(tǒng)會(huì)自動(dòng)生成。FieldName’:就是你要把哪個(gè)鍵設(shè)置為外鍵。這里選擇‘dept’,‘Reference DadaBase’:外鍵關(guān)聯(lián)的數(shù)據(jù)庫(kù)?!甊eference Table‘ :關(guān)聯(lián)的表 這里是dept表‘Forgin filed Names’:關(guān)聯(lián)的的字段,這里是code‘ondelete’:就是刪除的時(shí)候選擇的動(dòng)作。這里我的選擇是setNull,意思就是當(dāng)關(guān)聯(lián)的表刪除以后,teacher》dept字段會(huì)設(shè)置為null。如圖
MySQL幾張表中怎么設(shè)置主鍵約束和外鍵約束并設(shè)置級(jí)聯(lián)更新?
MySQL中可以通過(guò)以下方式設(shè)置主鍵約束和外鍵約束,并設(shè)置級(jí)聯(lián)更新:1. 設(shè)置主鍵約束:在創(chuàng)建表時(shí),可以使用PRIMARY KEY關(guān)鍵字來(lái)設(shè)置主鍵約束。
例如,創(chuàng)建一個(gè)名為"students"的表,其中"student_id"字段為主鍵:CREATE TABLE students ( student_id INT PRIMARY KEY, name VARCHAR(50), age INT);2. 設(shè)置外鍵約束:在創(chuàng)建表時(shí),可以使用FOREIGN KEY關(guān)鍵字來(lái)設(shè)置外鍵約束。
例如,創(chuàng)建一個(gè)名為"courses"的表,其中"student_id"字段為外鍵,參考了"students"表的主鍵:CREATE TABLE courses ( course_id INT, course_name VARCHAR(50), student_id INT, FOREIGN KEY (student_id) REFERENCES students(student_id));3. 設(shè)置級(jí)聯(lián)更新:可以使用ON UPDATE CASCADE關(guān)鍵字來(lái)設(shè)置級(jí)聯(lián)更新。
例如,修改"courses"表的外鍵約束,使其在"students"表中的主鍵更新時(shí),自動(dòng)更新"courses"表中的外鍵值:ALTER TABLE courses MODIFY student_id INT, FOREIGN KEY (student_id) REFERENCES students(student_id) ON UPDATE CASCADE;通過(guò)以上設(shè)置,當(dāng)"students"表中的主鍵值更新時(shí),"courses"表中對(duì)應(yīng)的外鍵值也會(huì)自動(dòng)更新。
總結(jié):MySQL中,可以通過(guò)使用PRIMARY KEY關(guān)鍵字設(shè)置主鍵約束,使用FOREIGN KEY關(guān)鍵字設(shè)置外鍵約束,并使用ON UPDATE CASCADE關(guān)鍵字設(shè)置級(jí)聯(lián)更新。
這樣可以保證數(shù)據(jù)的完整性和一致性。
到此,以上就是小編對(duì)于mysql為什么添加不了外鍵的問(wèn)題就介紹到這了,希望這3點(diǎn)解答對(duì)大家有用。
網(wǎng)頁(yè)名稱:mysql添加不了外鍵如何解決
轉(zhuǎn)載來(lái)源:http://www.fisionsoft.com.cn/article/djhcgho.html


咨詢
建站咨詢
