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
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 建立外來鍵的前提 ...