当从表外键未删除时,不能直接删除其主键。
删除外键的格式:
首先,查看外键名:
show create table 表名
注意:'FOREIGN KEY'**前为外键名,不是你创建表时,指定的字段名**
| banji | CREATE TABLE `banji` (
`stu_num` int(11) DEFAULT NULL,
`name` varchar(20) DEFAULT NULL,
`money` int(11) DEFAULT NULL,
KEY `stu_num` (`stu_num`),
CONSTRAINT `banji_ibfk_1` FOREIGN KEY (`stu_num`) REFERENCES `jiaofei` (`num`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
# 外键名为‘banji_ibfk_1’,不是设定的字段名‘stu_num’
其次,删除外键:
格式:
alter table 表名 drop foreign key 外键名
mysql> alter table banji
-> drop foreign key banji_ibfk_1
-> ;
Query OK, 0 rows affected (0.53 sec)
Records: 0 Duplicates: 0 Warnings: 0