在接手一个项目的时候,发现删除一行数据删除不了,在数据库执行该sql的时候,发现提示这个表和另外一张表有外键约束。建议自己在代码层面维护外键约束,而不是用mysql。下面介绍如何删除外键约束。
1.查看数据库表创建的sql语句
show create table `students`
CREATE TABLE `students` ( `id` int(11) NOT NULL AUTO_INCREMENT, `address` varchar(255) DEFAULT NULL, `code` varchar(255) DEFAULT NULL, `mobile` varchar(255) DEFAULT NULL, `name` varchar(255) DEFAULT NULL, `score` int(11) DEFAULT NULL, `id_code` varchar(255) DEFAULT NULL, `user_id` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `FK1C81D1738DA76` (`user_id`), CONSTRAINT `FK1C81D1738DA76` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8
alter table students drop foreign key FK1C81D1738DA76