MySql外來鍵設定方式1

2021-09-25 18:51:19 字數 660 閱讀 2612

mysql外來鍵設定方式/在建立索引時,可指定在delete/update父表時,對子表進行的相應操作, 

包括: restrict, cascade,set null 和 no action ,set default

restrict,no action: 

立即檢查外來鍵約束,如果子表有匹配記錄,父表關聯記錄不能執行 delete/update 操作;

cascade: 

父表delete /update時,子表對應記錄隨之 delete/update ;

set null: 

父表在delete /update時,子表對應欄位被set null,此時留意子表外來鍵不能設定為not null ;

set default: 

父表有delete/update時,子表將外來鍵設定成乙個預設的值,但是 innodb不能識別,實際mysql5.5之後預設的儲存引擎都是innodb,所以不推薦設定該外來鍵方式。如果你的環境mysql是5.5之前,預設儲存引擎是myisam,則可以考慮。

選擇set null ,setdefault,cascade 時要謹慎,可能因為錯誤操作導致資料丟失。

如果以上描述並不能理解透徹,可以參看下面例子。

country 表是父表,country_id是主鍵,city是子表,外來鍵為country_id&#x

MySql外來鍵設定方式2

1.外來鍵的作用,主要有兩個 乙個是讓資料庫自己通過外來鍵來保證資料的完整性和一致性 乙個就是能夠增加er圖的可讀性 2.外來鍵的配置 1 先建立乙個主表,如下 建立表student,並新增各種約束 create table student id int primary key 主鍵約束 name ...

Mysql外來鍵設定

為已經新增好的資料表新增外來鍵 語法 alter table 表名 add constraint fk id foreign key 你的外來鍵欄位名 references 外表表名 對應的表的主鍵欄位名 例 alter table tb active add constraint fk id fo...

Mysql 外來鍵設定

外來鍵的作用 保持資料一致性,完整性,主要目的是控制儲存在外鍵表中的資料。使兩張表形成關聯,外來鍵只能引用外表中的列的值!例如 a b 兩個表 a表中存有 客戶號,客戶名稱 b表中存有 每個客戶的訂單 有了外來鍵後 你只能在確信b 表中沒有客戶x的訂單後,才可以在a表中刪除客戶x 建立外來鍵的前提 ...