mysql資料庫外鍵
㈠ 資料庫中的外鍵是什麼意思
外鍵(FK)是用於建立和加強兩個表數據之間的鏈接的一列或多列。通過將保存表中主鍵值的一列或多列添加到另一個表中,可創建兩個表之間的鏈接。這個列就成為第二個表的外鍵。
當創建或更改表時可通過定義FOREIGNKEY約束來創建外鍵。
例如,資料庫pubs中的titles表與publishers表有鏈接,因為在書名和出版商之間存在邏輯聯系。
titles表中的pub_id列與publishers表中的主鍵列相對應。titles表中的pub_id列是到publishers表的外鍵。
(1)mysql資料庫外鍵擴展閱讀:
保持數據一致性,完整性,主要目的是控制存儲在外鍵表中的數據。 使兩張表形成關聯,外鍵只能引用外表中的列的值或使用空值。
學號在成績表(表2)中是主鍵,在學生表(表1)中是外鍵。如果不使用外鍵,表1的學號欄位插了一個值(比如20140999999),但是這個值在表2中並沒有,這個時候,資料庫允許插入,並不會對插入的數據做關系檢查。
然而在設置外鍵的情況下,插入表1學號欄位的值必須要求在表1的學號欄位能找到。 同時,如果要刪除表2的某個學號欄位,必須保證表2中沒有引用該欄位值的列,否則就沒法刪除。
這就是所謂的保持數據的一致性和完整性。如右圖,如果表1還引用表2的某個學號,卻把表1中的這個學號刪了,表2就不知道這個學號對應的學生是哪個學生。
㈡ mysql怎麼定義外鍵
資料庫mysql
建立外鍵的前提: 本表的列必須與外鍵類型相同(外鍵必須是外表主鍵)。
外鍵作用: 使兩張表形成關聯,外鍵只能引用外表中的列的值!
指定主鍵關鍵字: foreign key(列名)
引用外鍵關鍵字: references <外鍵表名>(外鍵列名)
事件觸發限制: on delete和on update , 可設參數cascade(跟隨外鍵改動), restrict(限制外表中的外鍵改動),set Null(設空值),set Default(設默認值),[默認]no action
例如:
outTable表 主鍵 id 類型 int
創建含有外鍵的表:
create table temp(
id int,
name char(20),
foreign key(id) references outTable(id) on delete cascade on update cascade);
說明:把id列 設為外鍵 參照外表outTable的id列 當外鍵的值刪除 本表中對應的列篩除 當外鍵的值改變 本表中對應的列值改變。
自己實踐 才能完全了解外鍵的作用 關鍵是:事件觸發限制的作用
㈢ mysql怎麼設置外鍵
新建一張表,設置主鍵欄位,這個等下要關聯另外表的外鍵,如圖
㈣ mysql資料庫如何添加外鍵
mysql增加外鍵的方法:1、在CREATE TABLE語句中,通過FOREIGN KEY關鍵字來添加外鍵;2、在ALTER TABLE語句中,通過ADD和FOREIGN KEY關鍵字來添加外鍵。
㈤ 在MySQL中如何設置主鍵和外鍵
工具/原料
電腦MySQL
方法/步驟
設置主鍵:
1、通過終端進入到mysql命令行工具。
2、通過use關鍵字進行到目標資料庫里。
3、如原表已有主鍵,先把原來的主鍵刪除掉,通過DROPPRIMARYKEY命令:ALTERTABLE`jingyan`DROPPRIMARYKEY;。
4、主鍵已經沒有了。
5、通過命令:ADDPRIMARYKEY來添加ALTERTABLE`jingyan`ADDPRIMARYKEY(`id`)。
6、輸入後按下回車鍵即可看到queryok執行成功的字元。
7、回到資料庫的可視化工具,即可顯示現在的表在id列上添加了主鍵了。
設置外鍵:
1、創建好主從表。
2、選擇主表,點擊設計表,進入到表設計界面。
3、點擊外鍵,進入到外鍵設置界面。
4、先設置外鍵名稱和選擇主表的外鍵欄位。
5、然後在設置外鍵欄位對應從表的資料庫、表名和字。
6、點擊保存就完成外鍵設置了。