回覆列表
  • 1 # 使用者1465424935672

    1、只有InnoDB型別的表才可以使用外來鍵。mysql預設是MyISAM,這種型別不支援外來鍵約束

    2、外來鍵的好處:可以使得兩張表關聯,保證資料的一致性和實現一些級聯操作。

    3、外來鍵的作用:

    保持資料一致性,完整性,主要目的是控制儲存在外來鍵表中的資料。 使兩張表形成關聯,外來鍵只能引用外表中的列的值。

    4、建立外來鍵的前提:

    兩個表必須是InnoDB表型別。

    使用在外來鍵關係的域必須為索引型(Index)。

    使用在外來鍵關係的域必須與資料型別相似。

    5、建立的步驟

    指定主鍵關鍵字: foreign key(列名)。

    引用外來鍵關鍵字: references (外來鍵列名)。

    6、事件觸發限制:on delete和on update , 可設引數cascade(跟隨外來鍵改動)。

    restrict(限制外表中的外來鍵改動),set

    Null(設空值),set Default(設預設值)。

    [預設]no action

    7、舉例

    outTable表 主鍵 id 型別 int

    建立含有外來鍵的表:

    程式碼如下:

    create table temp(

    id int,

    name

    char(20),

    foreign key(id) references outTable(id) on delete cascade on update

    cascade);

    程式碼如下:

    create table temp( id int, name char(20),

    foreign key(id) references outTable(id) on delete cascade on update

    cascade);

  • 中秋節和大豐收的關聯?
  • 如何徹底刪除MySQL呢,win10系統,之前裝錯了,MySQL-5.5.25a?