溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

有哪些方法可以增加mysql外鍵

發(fā)布時間:2020-05-27 14:21:20 來源:PHP中文網(wǎng) 閱讀:186 作者:三月 欄目:MySQL數(shù)據(jù)庫

本文主要給大家介紹有哪些方法可以增加mysql外鍵,文章內(nèi)容都是筆者用心摘選和編輯的,具有一定的針對性,對大家的參考意義還是比較大的,下面跟筆者一起了解下有哪些方法可以增加mysql外鍵吧。

mysql添加外鍵的方法有:在屬性值后面直接添加;在sql語句末端添加;使用fk以及在建表后添加外鍵

有哪些方法可以增加mysql外鍵

mysql添加外鍵的4種方式

創(chuàng)建主表: 班級

CREATE TABLE class(cid INT PRIMARY KEY AUTO_INCREMENT,
sname VARCHAR(15) NOT NULL)
INSERT INTO class VALUES(NULL,'六年級一班')
INSERT INTO class VALUES(NULL,'六年級二班')

第一種:在屬性值后面直接添加

CREATE TABLE student(sid INT AUTO_INCREMENT,
sname VARCHAR(10) NOT NULL,
s_cid INT REFERENCES class(cid),
PRIMARY KEY(sid)
);

//添加數(shù)據(jù)進行測試

INSERT INTO student VALUES(NULL,'王大錘',2)
INSERT INTO student VALUES(NULL,'胡漢三',3)    //約束不生效,原因待查
INSERT INTO student VALUES(NULL,'臥槽',4)     //不敢相信,在測試一次

這種方式,測試不知道為什么,居然添加進去了  WTF?  在網(wǎng)上百度無果,自學群無回復  暫時先擱置在這兒

第二種:2.在sql語句末端添加

CREATE TABLE student(
sid INT AUTO_INCREMENT,
sname VARCHAR(10),
s_cid INT,
PRIMARY KEY(sid),
FOREIGN KEY (s_cid) REFERENCES class(cid)
);

//插入數(shù)據(jù)測試一下

INSERT INTO student VALUES(NULL,'王大錘',2)
INSERT INTO student VALUES(NULL,'胡漢三',3)   //約束生效  插入失敗

外鍵約束生效

第三種:fk的使用

CREATE TABLE student(sid INT AUTO_INCREMENT,
sname VARCHAR(10) NOT NULL,
s_cid INT ,
PRIMARY KEY(sid),
CONSTRAINT fk_student_class FOREIGN KEY(s_cid) REFERENCES class(cid)
);
INSERT INTO student VALUES(NULL,'王大錘',2)
INSERT INTO student VALUES(NULL,'胡漢三',3)  //約束生效  插入失敗

第四種:在建表后添加外鍵

CREATE TABLE student(sid INT AUTO_INCREMENT,
sname VARCHAR(10) NOT NULL,
s_cid INT ,
PRIMARY KEY(sid)
);

//添加外鍵約束:

ALTER TABLE student ADD FOREIGN KEY (s_cid) REFERENCES class(cid);

//測試

INSERT INTO student VALUES(NULL,'王大錘',2)
INSERT INTO student VALUES(NULL,'胡漢三',3)  //約束生效   插入失敗

看完以上關(guān)于有哪些方法可以增加mysql外鍵,很多讀者朋友肯定多少有一定的了解,如需獲取更多的行業(yè)知識信息 ,可以持續(xù)關(guān)注我們的行業(yè)資訊欄目的。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI