Mysql外键约束的创建删除
侯小啾 人气:0创建表时创建外键
创建两个表格,
一个名为class,
create table classes( id int not null primary key, name varchar(30) );
另一个名为student
create table student( sid int not null primary key, sname varchar(30), cid int not null, constraint fk_cid foreign key(cid) references classes(id) );
这里声明外键的语法为:
constraint 外键名 foreign key(要作为外键字段名) references 主表名(主表中关联的字段)
外键名是在这里给外键新命的名字,用来标记外键。
外键所在的表称为“从表”,主键所在的表称为主表。
给存在的表添加外键
也可以给已经存在的表格添加外键。
alter table student add constraint fk_cid foreigh key(cid) references class(id)
语法:
alter table 从表名 add constraint 外键名 foreign key(cid) references 主表名(主表中关联字段名)
删除外键约束
删除外键约束是指删除某字段的外键属性,而不是删除该字段。
alter table student drop foreign key fk_cid;
语法:
alter table 从表 drop foreign key 外键名;
删除外键是根据创建外键时命名的外键名,不是外键所在的字段名。
外键关联主键后,主键所在的主表将不能被删除。从表依然可以被删除。
加载全部内容