您的位置:首页 > 数据库 > MySQL

mysql 外键的添加与删除

2010-08-02 14:17 260 查看
首先,对于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 查看



可以看出系统自动给一个外键约束名称“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 查看


外键约束名为:FK_SS_ASC_VCC
注:添加外键约束时若没有指定外键约束的名称,则系统会自动添加外键约束名:表名_ibfk_n(表示第n个外键约束)
3.删除外键
根据外键约束的名字来删除外键
alter table ss_accesscode drop foreign key 外键约束名称;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: