有下面两个表:
create table user(user_id int(8) primary key,
user_name varchar(30),
user_psd varchar(60));
create table papers(paper_id int(8) primary key auto_increment,
paper_user int(8),
foreign key(paper_user) references user(user_id));
意思很明显,但现在如果不需要这个 约束关系,怎么删除呢?
步骤是这样的:
show create table papers;
得到类似下面的结果:
| Table | Create
| papers | CREATE TABLE `papers` (
`paper_id` int(8) NOT NULL AUTO_INCREMENT,
`paper_user` int(8) DEFAULT NULL,
PRIMARY KEY (`paper_id`),
KEY `paper_user` (`paper_user`),
CONSTRAINT `papers_ibfk_1` FOREIGN KEY (`paper_user`) REFERENCES `user` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
可以看到,CONSTRAINT papers_ibfk_1
FOREIGN KEY (paper_user
),也就是删除时需要通过删除papers_ibfk_1来删除这种约束关系,代码如下:
alter table papers drop foreign key papers_ibfk_1;
OK.