删除外键失败原因分析

当从表外键未删除时,不能直接删除其主键。
删除外键的格式:
首先,查看外键名:

    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

版权声明:本文为Bala_Manaoano原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。