mysql 外键约束
2013-04-18 20:33
197 查看
上图中contact_interest和contact_seeking两张表的创建涉及到外键约束,其中一个表创建完成后,另一个的创建总是失败,害我摸索好久。
这是我创建失败的sql:
create tablecontact_interest
(
contact_id int not null,
interest_id int not null,
primary key(contact_id,interest_id),
constraint my_contacts_contact_id_fk
foreign key(contact_id)
references my_contacts(contact_id),
constraint interests_interest_id_fk
foreign key(interest_id)
references interests(interest_id)
);
create tablecontact_seeking
(
contact_id int not null,
seeking_id int not null,
primary key(contact_id,seeking_id),
constraint my_contacts_contact_id_fk
foreign key(contact_id)
references my_contacts(contact_id),
constraint seeking_seeking_id_fk
foreign key(seeking_id)
references seeking(seeking_id)
);
试了不知道多少次呢,郁闷死我了,开始以为是创建组合主键,和外键约束的语句有问题,查了好些地方,比对尝试了n次,发现原来不是语法问题
而是两张表中constraint my_contacts_contact_id_fk名字重复了,原来约束名不能重复。恍然大悟。
相关文章推荐
- MySQL:错误代码1215 无法添加外键约束的解决思路
- Mysql外键约束设置[Mysql外键使用详细教程]
- MySQL外键约束的开启与关闭
- MySQL入门——约束简介、外键约束说明、外键约束主表与子表的创建与使用约束案例
- MySql 外键约束 之CASCADE、SET NULL、RESTRICT、NO ACTION分析和作用
- mysql无法添加外键约束(cannot add foreign key constraint)
- mysql 外键的作用,级联操作,起到约束作用
- mysql中如何添外键约束
- Mysql 外键约束 on delete和on update
- mysql 设置外键约束SET FOREIGN_KEY_CHECKS=1
- MySQL|RESTRICT|NO ACTION|CASCADE| SET NULL四种外键约束
- 总结mysql的三种外键约束方式
- MySQL之外键约束
- 使用Navicat for mysql添加外键约束
- MySQL 外键约束和触发器,级联删除
- MySQL外键约束删除时和更新时各取值的含义
- MySQL外键约束的开启与关闭
- MYSQL外键约束
- 在MySQL中设置外键约束
- mysql 在表中添加多个外键/增加外键/级联约束