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 外键约束名称;
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 外键约束名称;
相关文章推荐
- MySQL的数据类型,MySQL增删改--添加主外键、添加属性、删除主外键、改表名、获取系统当前时间等
- MySQL外键约束常见操作方法示例【查看、添加、修改、删除】
- MySQL添加/删除主键、外键、唯一键、索引、自增
- mysql添加例 修改例,删除外键
- mysql查看和修改数据库表字段编码格式及添加删除外键操作
- MySQL学习创建数据库、创建表、添加、删除外键
- MySQL 添加列,修改列,删除列
- Mysql中修改字段类型、长度以及添加删除列
- mysql更改表结构:添加、删除、修改字段、调整字段顺序
- mysql、添加和删除用户、添加权限
- MySQL查看和删除表相关外键关系
- 利用ErlyDB、Mysql来实现表的添加、删除、修改、查询操作
- mysql 添加外键时 error 150 问题总汇
- MySQL添加外键失败ERROR 1452
- MySql中添加用户,新建数据库,用户授权,删除用户,修改密码
- MySQL 查看约束,添加约束,删除约束 添加列,修改列,删除列
- MySQL 添加列,修改列,删除列
- percona-toolkit在线添加删除mysql索引、字段(不锁表)
- hive--mysql添加删除索引
- mysql 添加 删除字段