我们首先开始创建2张表分别是 dept 表 和emp 表
创建 dept 表代码
CREATE TABLE dept(
deptno INT(2) NOT NULL,
dname VARCHAR(14),
loc VARCHAR(13),
CONSTRAINT pk_dept PRIMARY KEY(deptno)
)
创建 emp 表代码
CREATE TABLE emp(
empno INT(4) NOT NULL PRIMARY KEY,
ename VARCHAR(10),
job VARCHAR(9),
mgr INT(4),
hiredate date,
sal FLOAT(7,2),
comm FLOAT(7,2),
deptno INT(2),
CONSTRAINT fk_deptno FOREIGN KEY(deptno) REFERENCES dept(deptno)
)
我们可以从代码中看出将 dept 表中的deptno作为主键,emp表中的deptno为其外键
第一张表创建起来没问题,畅通无阻
很顺利哈
好,这个时候我们运行第二张表的代码
OK 也没有问题,创建成功,好的,那接下来我们就只用插入数据了嘛,太简单了对吧
这个时候问题就来了
如果我先插入数据到子表emp中,来执行一下代码
INSERT INTO emp VALUES(7369,'SMITH','CLERK',7902,'1980-12-17',800,NULL,20);
INSERT INTO emp VALUES(7499,'ALLEN','SALESMAN',7698,'1981-02-20',1600,300,30);
INSERT INTO emp VALUES(7521,'WARD','SALESMAN',7698,'1981-02-22',1250,500,30);
INSERT INTO emp VALUES(7566,'JONES','MANAGER',7839,'1981-04-02',2975,NULL,20);
INSERT INTO emp VALUES(7654,