(MYSQL學習筆記1)給數據庫設置外鍵

設置外鍵有兩種方式,一種是在創建表的時候關聯外鍵,另一種是給已經存在的表添加外鍵。具體操作如下:

1、在創建表時的操作

班級表(主表):

create table tb1(
    id INT PRIMARY KEY AUTO_INCREMENT,
    classname VARCHAR(20) NOT NULL
);

用戶表(子表):

create table tb2(
    id INT PRIMARY KEY AUTO_INCREMENT,
    username VARCHAR(20) NOT NULL,
    classid INT,
    FOREIGN KEY (classid) REFERENCES tb1(id) ON DELETE CASCADE ON UPDATE CASCADE
);

----------------------------------------------------------------------------

2、在已有表的基礎上添加外鍵

ALTER TABLE tb3 ADD CONSTRAINT T_C FOREIGN KEY (classid) REFERENCES tb1(id);


----------------------------------------------------------------------------


在之後可以用命令來查看創建表的操作,SHOW CREATE TABLE tb2;可以發現其中有這麼一句話

 

PRIMARY KEY (`id`),
  KEY `classid` (`classid`),
  CONSTRAINT `tb2_ibfk_1` FOREIGN KEY (`classid`) REFERENCES `tb1` (`id`) ON DELETE CASCADE

說明外鍵已經成功創建了。

-----------------------------------------------------------------------------

另附說明:

CASCADE:從父表刪除或更新且自動刪除或更新子表中匹配的行。

SET NULL:從父表刪除或更新行,並設置子表中的外鍵列爲NULL。前提是保證該外鍵列不爲NOT NULL。

RESTRICT:拒絕對父表的刪除或更新操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章