mysql 5.0中index删不掉怎么办

lishiaini 2010-08-12 05:21:03
SQL 查询:

ALTER TABLE `depart` DROP INDEX `users_depart_fk_manager`

MySQL 返回:

#1025 - Error on rename of '.\usermanager\#sql-dac_a' to '.\usermanager\depart' (errno: 150)
...全文
155 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
loveflea 2010-08-13
  • 打赏
  • 举报
回复
如果还不行,您就要检查一下是否有其他表的外键还引用这个表的!
或者先关闭一下外键检查,再执行上面的哈!
set foreign_key_checks=off;
loveflea 2010-08-13
  • 打赏
  • 举报
回复
C:\Users\coolwind>perror 150
MySQL error code 150: Foreign key constraint is incorrectly formed

看起来您这个外键有问题!

您可以建立一个新表depart_new结构和depart一样(除了索引users_depart_fk_manager哈)
# 插入数据
insert into depart_new select * from depart;
# 修改表名
rename tablet depart to depart_old,depart_new to depart;
windxfxx8 2010-08-13
  • 打赏
  • 举报
回复
DROP INDEX users_depart_fk_manager on depart
对,就是这么删的,测试成功 你再试下!
feixianxxx 2010-08-12
  • 打赏
  • 举报
回复
我测试是可以的:

mysql> create table ine(a int ,index ind(a));
Query OK, 0 rows affected (0.06 sec)

mysql> drop index ind on ine;
Query OK, 0 rows affected (0.16 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> show create table ine;
+-------+-----------------------------------------------------
| Table | Create Table
+-------+-----------------------------------------------------
| ine | CREATE TABLE `ine` (
`a` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+-------+-----------------------------------------------------
1 row in set (0.05 sec)
ACMAIN_CHM 2010-08-12
  • 打赏
  • 举报
回复
直接DROP INDEX `users_depart_fk_manager`
hao1hao2hao3 2010-08-12
  • 打赏
  • 举报
回复
好像说是MySQL的一个bug,可以上网去搜搜。
feixianxxx 2010-08-12
  • 打赏
  • 举报
回复
....索引就是这么删的..
lishiaini 2010-08-12
  • 打赏
  • 举报
回复
这个也用过了,在网上找的有两种方法,两种都用了,都是报同一个错。
feixianxxx 2010-08-12
  • 打赏
  • 举报
回复
你语法问题哦
feixianxxx 2010-08-12
  • 打赏
  • 举报
回复
DROP INDEX users_depart_fk_manager on depart

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧