外键
概念:
外键与主键相对,作用就是通过主外键的之间关系使对张表中的数据更好的关联。
外键特点:
从表外键的值是对主表主键的引用。
从表外键类型,必须与主表主键类型一致。
作用:外键可以保证数据的完整性和一致性
格式:(2种)
[constraint 外键约束关系的名称] foreign key 从表(外键字段名称) references 主表(主键字段名称)
alter table 从表 add [constraint] [外键名称] foreign key (从表外键字段名) references 主表 (主表的主键);
egg:
数据:
#部门表:
CREATE TABLE dept(
id INT PRIMARY KEY AUTO_INCREMENT,
dname VARCHAR(20) UNIQUE NOT NULL,
dcode INT UNIQUE NOT NULL);
#员工表:
CREATE TABLE emp(
id INT PRIMARY KEY AUTO_INCREMENT,
ename VARCHAR(20) NOT NULL,
ecode INT UNIQUE NOT NULL,
did INT,
CONSTRAINT dept_emp FOREIGN KEY emp(did) REFERENCES dept(id));
插入数据:
#插入数据:
INSERT INTO dept VALUES(NULL,'技术部',100);
INSERT INTO dept VALUES(NULL,'财务部',200);
INSERT INTO dept VALUES(NULL,'人事部',300);
INSERT INTO emp VALUES(NULL,'张三',123,1);
INSERT INTO emp VALUES(NULL,'李四',124,2);
INSERT INTO emp VALUES(NULL,'王五',125,1);
INSERT INTO emp VALUES(NULL,'田七',126,1);
抛出异常:
问题:DELETE FROM dept WHERE id=1;
出错原因:从表有员工关联部门中id为1的部门INSERT INTO emp VALUES(NULL,'haha',127,5);出错原因:主表中没有主键id为5的部门
标签:INSERT,INTO,外键,VALUES,emp,SQL,NULL From: https://blog.51cto.com/u_12277263/5809653