问题描述:
DROP INDEX index_name on table_name时,如果table_name是大写,则会导致后续information_schema.statistics 表的访问问题。
环境:MYSQL 5.1.46 win32版本。
问题示例:
use test;
CREATE TABLE IF NOT EXISTS TCI_INST
(
FCIID INT UNSIGNED,
FCIDVER INT UNSIGNED,
FCINAME VARCHAR(256)
);
CREATE INDEX IND_TCI_FCIID ON TCI_INST(FCIID,FCIDVER);
SELECT * FROM information_schema.statistics where table_name='TCI_INST' and index_name='IND_TCI_FCIID';
应该输出两条记录。实际输出两条记录,正确!
SELECT count(*) FROM information_schema.statistics where table_name='TCI_INST' and index_name='IND_TCI_FCIID';
应该输出2。实际输出2,正确!DROP INDEX IND_TCI_FCIID ON TCI_INST;

在MySQL 5.1.46 win32版本中,使用大写表名DROP INDEX时,会导致information_schema.statistics表访问异常,表现为即使索引已被删除,查询仍显示存在。此问题可以通过使用小写表名执行DROP INDEX命令来避免。重启MySQL服务可解决已出现的错误。
最低0.47元/天 解锁文章
3716

被折叠的 条评论
为什么被折叠?



