1. 程式人生 > 實用技巧 >MySQL 外來鍵 foreign key constraint

MySQL 外來鍵 foreign key constraint

  1. 取消外來鍵約束
    set @@foreign_key_check=0

  2. describe information_schema.key_column_usage;

  3. 查看錶上的索引和foreign key
    select * from information_schema.key_column_usage where table_name='b'\G

  4. 查看錶的哪個column被哪個表的column所引用
    select * from information_schema.key_column_usage where referenced_table_name='
    a'\G

  5. 新建兩張測試表

  6. 增加外來鍵約束
    alter table b
    add constraint fk_b_a foreign key (id_a) references a (id) on update cascade on delete cascade;

  7. 刪除外來鍵約束
    alter table b drop foreign key fk_b_a;

  8. 外來鍵的約束關係
    父表: 被引用的表,column必須為primary key
    子表: 引用主表,外來鍵的某一column引用父表的primary key
    
    
    cascade: 在父表update/delete,同步update/delete子表的記錄
    set null: 在父表update
    /delete,將子表的外來鍵與主表主鍵匹配的記錄設為null(子表外來鍵不能為not null) no action: 子表的外來鍵有記錄與主表主鍵關聯,則不允許對主表的相關主鍵進行update/delete restrict: 同 no action,MySQL預設行為,立即檢查外來鍵約束