mysql外键约束 电脑版发表于:2022/4/28 9:45 **添加外键约束语法** ``` alter table employee add CONSTRAINT fk_UserClass_Employee_Id FOREIGN key (classId) REFERENCES UserClass(id); ``` **删除外键约束:** ``` alter table users drop FOREIGN key fk_dpet_user_id ``` **外键约束级联删除** ``` alter table employee add CONSTRAINT fk_UserClass_Employee_Id FOREIGN key (classId) REFERENCES UserClass(id) ``` 核心代码: on update CASCADE on delete CASCADE; **实例** 用户表与班级表 ``` -- 创建一个班级表 create table UserClass ( id int PRIMARY key auto_increment, ClassName varchar(32) not null, Position varchar(32) , slogan varchar(32) -- 班级口号 ) insert UserClass(ClassName,Position) values('计网1212','3206') insert UserClass(ClassName,Position) values('计网1213','3211') insert UserClass(ClassName,Position) values('计网1211','3366') ``` 用户表 ``` create table employee ( id int PRIMARY key auto_increment, name varchar(10) not null UNIQUE, age int CHECK(age>0 && age<=120), status char(1) default(1) check(status=1 or status=0), -- 1表示审核通过,0表示审核失败 sex char(1), classId int -- 创建表的时候可以增加外键约束 增加一点 ) ``` 添加与删除外键 ``` -- 在表创建之后增加外键约束 alter table employee add CONSTRAINT fk_UserClass_Employee_Id FOREIGN key (classId) REFERENCES UserClass(id); -- 删除外键 alter table employee drop FOREIGN key fk_UserClass_Employee_Id ``` 创建表的时候添加外键: ``` create table employee ( id int PRIMARY key auto_increment, name varchar(10) not null UNIQUE, age int CHECK(age>0 && age<=120), status char(1) default(1) check(status=1 or status=0), -- 1表示审核通过,0表示审核失败 sex char(1), classId int, CONSTRAINT fk_UserClass_Employee_Id FOREIGN key (classId) REFERENCES UserClass(id) -- classId int REFERENCES UserClass(id) -- 创建表的时候可以增加外键约束 增加一点 ) ```