您好,登錄后才能下訂單哦!
本文主要給大家介紹有哪些方法可以增加mysql外鍵,文章內(nèi)容都是筆者用心摘選和編輯的,具有一定的針對性,對大家的參考意義還是比較大的,下面跟筆者一起了解下有哪些方法可以增加mysql外鍵吧。
mysql添加外鍵的方法有:在屬性值后面直接添加;在sql語句末端添加;使用fk以及在建表后添加外鍵
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è)資訊欄目的。
免責聲明:本站發(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)容。