首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

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

2013-01-06 
mysql 修改索引时,外键约束造成的奇怪问题事情是这样的,在Windows的mysql5.5 ,我想修改一个表的索引,于是

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

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

SET FOREIGN_KEY_CHECKS=0;ALTER TABLE practice_log DROP INDEX ix_practice_log_userid;ALTER TABLE practice_log ADD INDEX ix_practice_log_userid(userid,practicetime)SET FOREIGN_KEY_CHECKS=1;

索引修改成功。
但是,问题来了。。。。。
重启数据库后,表 practice_log 不见了!删除表practice_log,报错:表不存在;建表,报错:表已存在!
这应该是mysql的bug。
解决办法:不要用SET FOREIGN_KEY_CHECKS=0;老老实实得删掉外键约束吧,再修改索引,搞定。
另外,约束影响性能,尽量不要用。



热点排行