我遇到了最奇怪的错误。
有时,在创建或更改表时,我会收到“表已存在”的错误。但是,DROP TABLE返回“#1051-未知表格”。所以我得到了一个无法创建、无法删除的表格。
当我尝试删除数据库时,mysqld崩溃了。有时候用不同的名称创建另一个数据库会有帮助,有时候不会。
我使用一个包含约50个InnoDB表的DB。这个问题出现在不同的表中。
我在Windows、Fedora和Ubuntu上遇到过这个问题,使用MySQL 5.1和5.5。使用PDO、PHPMyAdmin或命令行时,行为相同。我使用MySQL Workbench来管理我的模式——我看到了一些相关的错误(endlines等),但对我来说都不相关。
不,这不是一个视图,而是一个表格。所有的名称都是小写的。
我尝试了我能找到的一切——刷新表格、将.frm文件从db移动到db、阅读mysql日志,没有什么帮助,只有重新安装整个东西才能解决问题。
'show tables'没有显示任何内容,'describe'表格说'table doesn't exist',没有.frm文件,但是'create table'仍然以错误结束('create table if not exists'也是如此),删除数据库会导致mysql崩溃。
有时,在创建或更改表时,我会收到“表已存在”的错误。但是,DROP TABLE返回“#1051-未知表格”。所以我得到了一个无法创建、无法删除的表格。
当我尝试删除数据库时,mysqld崩溃了。有时候用不同的名称创建另一个数据库会有帮助,有时候不会。
我使用一个包含约50个InnoDB表的DB。这个问题出现在不同的表中。
我在Windows、Fedora和Ubuntu上遇到过这个问题,使用MySQL 5.1和5.5。使用PDO、PHPMyAdmin或命令行时,行为相同。我使用MySQL Workbench来管理我的模式——我看到了一些相关的错误(endlines等),但对我来说都不相关。
不,这不是一个视图,而是一个表格。所有的名称都是小写的。
我尝试了我能找到的一切——刷新表格、将.frm文件从db移动到db、阅读mysql日志,没有什么帮助,只有重新安装整个东西才能解决问题。
'show tables'没有显示任何内容,'describe'表格说'table doesn't exist',没有.frm文件,但是'create table'仍然以错误结束('create table if not exists'也是如此),删除数据库会导致mysql崩溃。
相关但无用的问题:
编辑:
mysql> use askyou;
Database changed
mysql> show tables;
Empty set (0.00 sec)
mysql> create table users_has_friends (id int primary key);
ERROR 1050 (42S01): Table '`askyou`.`users_has_friends`' already exists
mysql> drop table users_has_friends;
ERROR 1051 (42S02): Unknown table 'users_has_friends'
就是这样,仍然一样:表不存在,但无法创建;
mysql> drop database askyou;
ERROR 2013 (HY000): Lost connection to MySQL server during query
名称变化,这不是我遇到的唯一一个表格/数据库出现问题的情况。
SHOW FULL TABLES IN askyou
和SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA LIKE 'askyou'
这两个命令的执行结果都是列出在数据库askyou
中的所有表格,但是它们的输出格式略有不同。 - eggyaltable_name
,而不是table_schema
。这个列保存的是数据库的名称。代码如下:SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA LIKE 'askyou'
。 - Rafael Barros