mysql 外键的添加与删除

2017-01-05 11:09:18来源:oschina作者:Airship人点击

首先,对于MySQL数据库,只有存储引擎为InnoDB的表外键才有效。其他存储引擎会忽略外键约束。


1.创建两张表ss_vcc,ss_accesscode


(1)


create table ss_vcc (vccId varchar(20) not null,displayNumber varchar(32),vccName varchar(40),primary key (vccId) ) type=InnoDB;


create unique index ix_ss_vcc on ss_vcc (vccId);


(2)


create table ss_accesscode (accessCode varchar(32) not null,vccId varchar(20) not null,routeStrategy integer default 1,telephoneNumber varchar(32),serviceId varchar(32),serviceNodeArg integer default 0,primary key (accessCode) ) type=InnoDB;


create unique index ix_ss_accesscode on ss_accesscode (accessCode);


2.添加外键


(1)alter table ss_accesscode add foreign key (vccId) references ss_vcc(vccId) ON DELETE CASCADE;


用命令:show create table ss_accesscode 查看


image


可以看出系统自动给一个外键约束名称“ss_accesscode_ibfk_1”


(2)alter table ss_accesscode add constraint FK_SS_ASC_VCC foreign key (vccId) references ss_vcc(vccId) ON DELETE CASCADE;


用命令:show create table ss_accesscode 查看


image


外键约束名为:FK_SS_ASC_VCC


注:添加外键约束时若没有指定外键约束的名称,则系统会自动添加外键约束名:表名_ibfk_n(表示第n个外键约束)


3.删除外键


根据外键约束的名字来删除外键


alter table ss_accesscode drop foreign key 外键约束名称;

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台