问题背景描述:

首先,创建了一个主表,具有以下数据结构:

mysql> describe aa;
+-------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+----------------+
| ID | int() | NO | PRI | NULL | auto_increment |
| SecID | int() | NO | UNI | NULL | |
| name | char() | NO | | NULL | |
| sex | char() | YES | | femal | |
+-------+----------+------+-----+---------+----------------+
rows in set (0.01 sec)

然后,创建了一个从表,通过外键,与表aa的SecID属性关联起来:

mysql> create table bb  //创建表bb
-> (SecID int() unique not null,
-> room_num int() not null,
-> extra binary default )
-> engine=InnoDB;
Query OK, rows affected (0.10 sec)
mysql> alter table bb add foreign key(SecID) references aa(SecID); //添加外键
Query OK, rows affected (0.14 sec)
Records: Duplicates: Warnings:

执行对bb表的外键删除操作,出现以下error:

mysql> alter table cc drop foreign key SecID;
ERROR (HY000): Error on rename of './test_20180206/cc' to './test_20180206/#sql2-9ac-e' (errno: )

经过分析,笔者发现是因为创建外键时,外键名与属性名一样导致的。

因此,在创建外键时,最好加上外键的别名设置,以便于外键属性的修改或删除,命令如下:

mysql> alter table cc add constraint SECID foreign key(SecID) references aa(SecID);
mysql> alter table cc drop foreign key SECID;
Query OK, rows affected (0.16 sec)
Records: Duplicates: Warnings:

目前没有找到外键名与属性名一致时,删除外键的彻底解决方法。

可以通过命令CREATE TABLE SELECT的命令将表结构及其数据进行备份,此时外键属性是不会被复制的,就可以根据新表重新进行可靠的外键设置操作。

MySQL删除foreign key_ERROR 1025 (HY000): Error on rename of './test_20180206/cc' to './test_20180206/#sql2-9ac-e' (errno: 152)的更多相关文章

  1. MySQL主从复制中断,报“Error on master: message (format)='Cannot delete or update a parent row: a foreign key constraint fails' error code=1217” 错误

    前几天,发现从库挂了,具体报错信息如下: 分析思路 1. 因为我采用的是选择性复制,只针对以下几个库进行复制: card,upay,deal,monitor,collect.所以,不太可能出现对于sa ...

  2. 【MYSQL用户创建报错】ERROR 1396 (HY000): Operation CREATE USER failed for 'user1'@'%'

    原文参考自:http://blog.csdn.net/u011575570/article/details/51438841 1.创建用户的时候报错ERROR 1396 (HY000): Operat ...

  3. mysql安装过程中出现错误ERROR 1820 (HY000): You must SET PASSWORD before executing this statement解决

    mysql安装过程中出现错误ERROR 1820 (HY000): You must SET PASSWORD before executing this statement解决   最近新装好的my ...

  4. mysql root用户kill connection报ERROR 1095 (HY000): You are not owner of thread N

    今日某系统mysql root用户kill connection时报ERROR 1095 (HY000): You are not owner of thread N 按说通过root用户具有supe ...

  5. 线上问题 - MySQL SQL state [HY000]; error code [1366]

    一.问题描述 另外一个系统调用服务接口api:/xxx/create?aName=&time=&...,数据没有保存成功提示SQL state [HY000]; error code ...

  6. mysql删除有外链索引数据,Cannot delete or update a parent row: a foreign key constraint fails 问题的解决办法

    mysql删除有外链索引数据Cannot delete or update a parent row: a foreign key constraint fails 问题的解决办法查询:DELETE ...

  7. Mysql插入中文时提示:ERROR 1366 (HY000): Incorrect string value: '\xE5\x8F\xB0\xE5\xBC\x8F...' fo

    Mysql插入数据时提示:ERROR 1366 (HY000): Incorrect string value: ‘\xE5\x8F\xB0\xE5\xBC\x8F…’ fo 分析如下: 首先通过语句 ...

  8. mysql 链接数满了的错误 ERROR 1040 (HY000): Too many connections

    mysql 链接数满了的错误 ERROR 1040 (HY000): Too many connections 第一种处理方式: ./mysql -u root -p 登录成功后执行以下语句查询当前的 ...

  9. ERROR 1010 (HY000): Error dropping database (can't rmdir './test/', errno: 17)

    在删除数据库的时候报标题所示错误 mysql> drop database test; ERROR (HY000): Error dropping database (can't rmdir ' ...

随机推荐

  1. VIm快捷操作

    vim快捷操作 移动 行级移动 $ 行尾 0 行头 段级移动 { 段首 } 段尾 屏幕级别 L: 屏幕尾部 H: 屏幕头部 文档级别 G: 文档尾部 1G:头部 nG:文档n行 删除 dd: 删除当前 ...

  2. npm 安装 chromedriver 失败的解决办法

    https://segmentfault.com/a/1190000008310875 npm install chromedriver --chromedriver_cdnurl=http://cd ...

  3. 菜鸟详细解析Cookie注入原理

    一.SQL注入原理 我以aspx为例,现在我们来研究下Cookie注入是怎么产生的,在获取URL参数的时候,如果在代码中写成Request[“id”],这样的写法问题就出现了.我先普及下科普知识,在a ...

  4. Python全栈-magedu-2018-笔记8

    第四章 - IPython 使用 帮助 ? Ipython的概述和简介 help(name) 查询指定名称的帮助,是python帮助 obj? 列出obj对象的详细信息 obj?? 列出更加详细的信息 ...

  5. python遍历文件(替换)

    #!/usr/local/bin/python # -*- coding: UTF-8 -*- #coding:gbk import re import os w_str="" x ...

  6. nodejs技术升阶思路

    经历一两年的node后端开发,熟悉了node原生api.常用包.数据库操作语句.一两个框架等,技术会达到一个瓶颈.如果没有足够的动力去深入,很容易老死在这个瓶颈上. 下面总结一下,提升点和方向: 站在 ...

  7. JVM深入:JDK8-废弃永久代(PermGen)迎来元空间(Metaspace)(转)

    转载自:https://www.cnblogs.com/yulei126/p/6777323.html 1.背景 2.为什么废弃永久代(PermGen) 3.深入理解元空间(Metaspace) 4. ...

  8. python tkinter Text

    """小白随笔,大佬勿喷""" '''tkinter —— text''' '''可选参数有: background(bg) 文本框背景色: ...

  9. note_The Top Risks of Requirements Engineering

    The risk is greatest at several points: 1. Overlooking a crucial requirement This one the greatest r ...

  10. 编程填空:第i位替换

    编程填空:第i位替换 OpenJudge 总时间限制:1000ms 内存限制:1024kB 描述:写出函数中缺失的部分,使得函数返回值为一个整数,该整数的第i位和m的第i位相同,其他位和n相同. 请使 ...