mysql添加外键是什么办法
发布时间:08/01 来源:未知 浏览:
关键词:
mysql增加外键的4种方式
新建主表: 班级
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) );
//增加数据进行测试
INSERT INTO student VALUES(NULL,'王大锤',2) INSERT INTO student VALUES(NULL,'胡汉三',3) //束缚不生效,缘由待查 INSERT INTO student VALUES(NULL,'卧槽',4) //不敢信赖,在测试一次
这种方式,测试不晓得为何,竟然增加进去了 WTF? 在网上baidu无果,自学群无回复 临时先搁置在这儿
第二种: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) );
//插入数据测试一下
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) //束缚生效 插入失败
以上就是mysql添加外键是什么办法的细致内容,更多请关注 百分百源码网 其它相干文章!