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

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


咨詢
建站咨詢
