1. 程式人生 > >MySQL外來鍵的建立

MySQL外來鍵的建立

mysql的外來鍵建立方式有兩種,一種是在建立子表的同時建立外來鍵,另一種時在建立完子表後,修改子表新增外來鍵。

#建立外來鍵方式一:建立子表的同時建立外來鍵
#年級表(id\年級名稱)

CREATE TABLE IF NOT EXISTS grade(
	gradeid INT(10) PRIMARY KEY AUTO_INCREMENT,
	gradename VARCHAR(50) NOT NULL
);

#學生資訊表(學號、姓名、性別、年級、手機號、地址、出生日期、郵箱、身份證號)
CREATE TABLE student(
	studentno INT(4) PRIMARY KEY,
	studentname VARCHAR(20) NOT NULL DEFAULT '匿名',
	sex TINYINT(1) DEFAULT 1,
	gradeid INT(10),
	phone VARCHAR(50) NOT NULL,
	address VARCHAR(255),
	borndate DATETIME,
	email VARCHAR(50),
	identityCard VARCHAR(18) NOT NULL,
	CONSTRAINT FK_gradeid FOREIGN KEY(gradeid) REFERENCES grade(gradeid)
);


#建立外來鍵方式二:建立子表完畢後,修改子表新增外來鍵
CREATE TABLE student(
	studentno INT(4) PRIMARY KEY,
	studentname VARCHAR(20) NOT NULL DEFAULT '匿名',
	sex TINYINT(1) DEFAULT 1,
	gradeid INT(10),
	phone VARCHAR(50) NOT NULL,
	address VARCHAR(255),
	borndate DATETIME,
	email VARCHAR(50),
	identityCard VARCHAR(18) NOT NULL
);
#修改子表新增外來鍵
ALTER TABLE student
ADD CONSTRAINT FK_gradeid FOREIGN KEY(gradeid) REFERENCES grade(gradeid);


#刪除外來鍵

ALTER TABLE student DROP FOREIGN KEY FK_gradeid;
ALTER TABLE student DROP INDEX FK_gradeid;

注意:刪除具有主外來鍵關係的表時,要先刪子表,後刪主表