1.为什么需要外键
答:外键可以保证数据参照的完整性
CREATE TABLE empl(
id INT(11) PRIMARY KEY,NAME VARCHAR(25),
deptid INT(11),
CONSTRAINT fk_emp_dept1 FOREIGN KEY(deptid) REFERENCES dept(id)
)
CREATE TABLE dept(
id INT PRIMARY KEY,
dep_name VARCHAR(23)
)
两张表,被写上constraint(约束)的意思,就是一张从表。没错,外键关联当中存在主表和从表关系,被人约束的是从表(你看还是得当家做主吧),没有约束是主表
所以上述中dept是主表,另外从键会保护主键,就是说当你删除主键,从键将不会同意,所以要先干掉从键再去干掉主键,或者解除外键约束,empl是从表 从表中要准备一个外键用来关联,在empl中就是deptid啦,而你是否在想fk_emp_dept1到底是什么鬼了?这个就是一个外键约束的名字,你在正儿八经的表中是看不到的,你得打开表的外键关联才可看到他的风采。
看效果图:
从表效果图 deptid是外键
fk_emp_dept1是外键约束名
2.删除外键关联关系(解除外键约束)
ALTER TABLE empl DROP FOREIGN KEY fk_emp_dept1;