mysql8.0遇到删除外键的错误
错误信息:Cannot drop index 'energy_type_id': needed in a foreign key constraint
创建device表的信息
CREATE TABLE `device` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`device_type_id` int(16) NOT NULL DEFAULT '2',
`energy_type_id` int(11) NOT NULL DEFAULT '1' ,
PRIMARY KEY (`id`),
KEY `energy_type_id` (`energy_type_id`) USING BTREE,
CONSTRAINT `device_ibfk_1` FOREIGN KEY (`energy_type_id`) REFERENCES `energy_type` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=100001 DEFAULT CHARSET=utf8 COMMENT='设备';
问题分析:使用coinstraint来将对字段进行限制,将索引device_ibfk_1与外键energy_type_id与外表energy_type表的id限制关联(constraint也有索引的意思,on面跟语句)
1.在navicat中直接删除外键,索引字段,会报错,
2.直接使用alter table device drop column energy_type_id
解决方案:1.先解除限制alter table device drop foreign key device_ibfk_1
2.删除字段alter table device drop column energy_type_id
mysql8.0遇到删除外键的错误的更多相关文章
- SQL Server 如何添加删除外键、主键,以及更新自增属性
1.添加删除主键和外键 例如: -----删除主键约束DECLARE @NAME SYSNAMEDECLARE @TB_NAME SYSNAMESET @TB_NAME = 'Date'SELECT ...
- Entity Framework Code First添加修改及删除外键关联实体
1.添加外键关联实体 1>.添加新的Province及City实体 using (var ctx = new PortalContext()) { var city1 = new City { ...
- MySQL删除外键定义的方法
MySQL外键在定以后,如果我们不再需要这个外键,可以进行删除操作,下面就为您介绍MySQL删除外键定义的方法,供您参考. 不知道大家有没有发现,在定义外键的时候articles.member_id外 ...
- MySQL里创建外键时错误的解决
--MySQL里创建外键时错误的解决 --------------------------------2014/04/30 在MySQL里创建外键时(Alter table xxx add const ...
- oracle 删除外键约束 禁用约束 启用约束
oracle 删除外键约束 禁用约束 启用约束 执行以下sql生成的语句即可 删除所有外键约束 Sql代码 select 'alter table '||table_name||' drop con ...
- sql语句添加删除外键及其约束
--删除外键 ALTER TABLE t_base_role_module DROP CONSTRAINT fk_t_base_role_module_t_base_defined_url; --增加 ...
- 备忘:MySQL中修改表中某列的数据类型、删除外键约束
-- MySQL中修改表中某列的数据类型 ALTER TABLE [COLUMN] 表名 MODIFY 列名 列定义; -- 删除外键约束 SHOW CREATE TABLE 表名; -- 复制CON ...
- 【转】PowerDesigner删除外键关系,而不删除外键列
原文:https://blog.csdn.net/tomsyc/article/details/6075530 PowerDesigner中配置外键关系时,如果要删除配置的外键关系,默认设置会一同删除 ...
- PowerDesigner删除外键关系,而不删除外键列[转]
PowerDesigner中配置外键关系时,如果要删除配置的外键关系,默认设置会一同删除外键列. 要更改此设置,需在菜单栏tools中打开Model Options,在Model Settings中点 ...
随机推荐
- “全栈2019”Java第一百一十三章:什么是回调?回调应用场景详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- java从txt文档读写数据
package com.abin.facade.ws.mail.function; import java.io.BufferedReader; import java.io.File; import ...
- 搭建一个ES6开发环境
一.首先先建立一个项目工程目录,并在目录下建立两个文件夹:src和dist src:书写ES6代码的文件夹,写的js程序都放在这里. dist:利用Babel编译成的ES5代码的文件夹,在HTML页面 ...
- angular核心原理解析3:指令的执行过程
指令的执行过程分析. 我们知道指令的执行分两个阶段,一个是compile,一个是link. 我们可以在指令中自定义compile和link. 首先,我们来讲解如何自定义link函数 举个例子: < ...
- [iOS笔试600题]一、语法篇(共有147题)
[A]1. @property 的作用是申明属性及真特性?[判断题] A.正确 B.错误 [A]2. @synthesize的作用是自动笠成属性的访问器(getter/setter)方法?[判断题] ...
- numpy 模块常用方法
Numpy是科学计算库,是一个强大的N维数组对象ndarray,是广播功能函数.其整合C/C++.fortran代码的工具 ,更是Scipy.Pandas等的基础 .ndim :维度 .shape : ...
- 用Yeoman构建AngularJS项目
转至https://yq.aliyun.com/articles/25578 Yeoman 介绍 Yeoman 是 Google 的团队和外部贡献者团队合作开发的,他的目标是通过 Grunt(一个用于 ...
- mysql中权限的小知识
参考:https://www.cnblogs.com/apollo1616/articles/10294490.html mysql中user表中host列的值的意义 % 匹配所有主机 localho ...
- dp--最大区间和变形-cf-1155D
dp--最大区间和变形-cf-1155D D. Beautiful Array time limit per test 2 seconds memory limit per test 256 mega ...
- 七,OpenERP 移库操作模块
整个代码中比较关键的地方是如何统计出不同库位的产品数量.