解决Cannot drop index 'PK_school_schooltype': needed in a foreign key constraint

原创 2015年07月07日 11:24:12

今天小编在用mysql数据库去删除一个表的字段时遇到了Cannot drop index 'PK_school_province': needed in a foreign key constraint问题,如下将表的创建贴出来:

CREATE TABLE `school` (
  `school_id` int(11) NOT NULL AUTO_INCREMENT,
  `school_name` varchar(255) NOT NULL,
  `school_pro_id` int(11) NOT NULL,
  PRIMARY KEY (`school_id`),
  KEY `PK_school_province` (`school_pro_id`),
  CONSTRAINT `PK_school_province` FOREIGN KEY (`school_pro_id`) REFERENCES `province` (`province_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2735 DEFAULT CHARSET=utf8

大家都知道KEY与index的意思相近,都是创建索引,现在使用coinstraint来将对字段进行限制,将索引PK_school_province 与外键school_pro_id与外表province表的province_id限制关联(constraint也有索引的意思,on面跟语句),那么现在我想直接删除school_pro_id这个字段,这时,直接使用"alter table school drop column school_pro_id"会出现Cannot drop index 'PK_school_province': needed in a foreign key constraint;大意是不能删除被外键限制的索引PK_school_province。那么这个时候我们需要将外键限制的索引给删除掉,使用”alter table school drop foreign key PK_school_province“就能将PK_school_province删除掉,那么这个时候再使用“alter table school drop column school_pro_id”就可以将school表中的school_pro_id删除掉。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

java和数据库之间的日期和时间转换

java和数据库之间的日期和时间转换 第一种: Date time= new java.sql.Date(new java.util.Date().getTime()); 第二种: ...

浅析JTable与TableModel、TableCellRenderer、TableCellEditor接口——使用JComboBox显示单元格的值

如同其它的Swing组件,JTable使用MVC(模型、试图、控制器)设计方式,将可视化组件(JTable实例)从其数据(TableModel实现)中分离出来。 ·TableModel接口 1、T...

Java获取当前时间的年月日方法

package com.ob; import java.text.ParseException; import java.text.SimpleDateFormat; import java.uti...
  • kookob
  • kookob
  • 2011-10-18 17:13
  • 233830

java执行sql语句并获取指定返回值

当我们插入一条数据的时候,我们很多时候都想立刻获取当前插入的主键值返回以做它用。我们通常的做法有如下几种:   1. 先 select max(id) +1 ,然后将+1后的值作为主键插入数据库;...

java.sql.date与java.util.date区别以及数据库中插入带时分秒的时间

java.sql.Date,java.sql.Time和java.sql.Timestamp三个都是java.util.Date的子类(包装类)。 java.sql.Date是java.util.D...

JAVA中的时间大小比较

import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; imp...

Java与数据库对应的日期类型

java.lang.Object  ....|__java.util.Date  ..........|__java.sql.Date/java.sql.Timestamp /java.s...

Field 'id' doesn't have a default value问题解决方法

Field 'id' doesn't have a default value问题解决方法

mysql 修改索引时,外键约束造成的奇怪问题

事情是这样的,在Windows的mysql5.5 ,我想修改一个表的索引,于是执行 ALTER TABLE practice_log DROP INDEX ix_practice_log_u...

关于博客系统用户关注功能的实现

关注功能作为博客的一个组成模块,在实现的时候碰到点麻烦。最开始的设想是在数据库文章的表格中加入分类id(type_id),用户表格中加入关注的种类id,新建一个种类表,通过多表查询实现输出用户关注的内...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)