MySQL删除外键约束问题
当我们在一个表中添加字段约束的时候:
ALTER TABLE product ADD CONSTRAINT product_fk FOREIGN KEY(category_id) REFERENCES category(id);
会认为我的外键约束名称为product_fk, 然后当我们想删除时:
ALTER TABLE product DROP FOREIGN KEY product_fk;
会出现以下的错误:
<e>Query: alter table product drop foreign key product_fk
Error Code: 1025
Error on rename of '.\web_day09\product' to '.\web_day09\#sql2-2330-1' (errno: 152)
这是因为字段的外键约束名并不是product_fk 。我们在数据库中执行一下命令:
SHOW CREATE TABLE product
控制台会显示
Table Create Table product
CREATE TABLE `product` (
`pid` varchar(32) NOT NULL,
`pname` varchar(40) DEFAULT NULL,
`price` double DEFAULT NULL,
`category_id` varchar(32) DEFAULT NULL,
PRIMARY KEY (`pid`),
KEY `category_id` (`category_id`),
CONSTRAINT `product_ibfk_1` FOREIGN KEY (`category_id`) REFERENCES `category` (`cid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
从建表语句中我们发现外键约束名称是:
product_ibfk_1
然后我们再执行外键删除操作
alter table product drop foreign key product_ibfk_1
0 row(s) affected
原文出处:https://blog.csdn.net/qq_35604488/article/details/90573415
最新文章
- gulp使用小结(一)
- MyBatis简介
- 使用python通过SSH登陆linux并操作
- JavaScript 编写线程代码引用Concurrent.Thread.js
- 网站常见问题及解决方法(div/css)
- Leetcode - Reverse Words
- asp.net mvc ajax提交模型到控制器
- 迁移数据库数据到SQL Server 2017
- ES2015 中的函数式Mixin
- 开始 第一个自己的python爬虫程序 爬磁力链
- Element Select 回显
- Jquery动画效果(混合)
- Lattice Constants and Crystal Structures of some Semiconductors
- [转]Use HandleBars in Express
- 文件读取ndarry 等价于DataFrame的操作
- windows zend_guard+apache no ssl+php no Thread Safe fastcgi模式 环境配置
- VMware 11 安装苹果系统
- 刨根问底KVO原理
- addslashes — 使用反斜线引用字符串
- bzoj3191卡牌游戏
热门文章
- AXI总线协议
- javascript百度地图使用(根据地名定位、根据经纬度定位)
- mail - 发送和接收邮件
- 互联网技术笔试总通不过?leetcode刷对了么
- mysql远程连接只显示部分数据库问题
- 95-基于FMC接口的2路CameraLink Base输出子卡模块
- PAT Advanced 1065 A+B and C (64bit) (20 分)(关于g++和clang++修改后能使用)
- CCPC-Wannafly Winter Camp Day1 流流流动 (树形dp)
- GUI学习之n——自定义信号
- 给定两个大小为 m 和 n 的有序数组&#160;nums1 和&#160;nums2。 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为&#160;O(log(m + n))。 你可以假设&#160;nums1&#160;和&#160;nums2&#160;不会同时为空。