您好,登錄后才能下訂單哦!
下面講講關于給mysql數據庫設置外鍵的兩種方法,文字的奧妙在于貼近主題相關。所以,閑話就不談了,我們直接看下文吧,相信看完給mysql數據庫設置外鍵的兩種方法這篇文章你一定會有所受益。
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:拒絕對父表的刪除或更新操作。
對于以上給mysql數據庫設置外鍵的兩種方法相關內容,大家還有什么不明白的地方嗎?或者想要了解更多相關,可以繼續關注我們的行業資訊板塊。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。