我遇到了最奇怪的错误.
有时,在创建或更改表时,我会收到"表已存在"错误.但是,DROP TABLE返回'#1051 - unknown table'.所以我得到了一张我无法创作的桌子,不能放弃.
当我尝试删除数据库时,mysqld崩溃了.有时,创建另一个具有不同名称的数据库会有所帮助,有时则不会.
我使用一个包含约50个表的数据库,所有数据都是InnoDB.不同的表发生此问题.
我在Windows,Fedora和Ubuntu,MySQL 5.1和5.5上体验过这一点.使用PDO,PHPMyAdmin或命令行时的行为相同.我使用MySQL Workbench来管理我的架构 - 我看到了一些相关的错误(背景和内容),但是没有一个与我相关.
不,这不是一个观点,它是一张桌子.所有名称都是小写的.
我尝试了所有我可以谷歌 - 冲洗表,将.frm文件从db移动到db,读取mysql日志,没有任何帮助,但重新安装整个该死的东西.
"显示表格"没有显示任何内容,"描述"表说"表格不存在",没有.frm文件,但"创建表格"仍然以错误结束("创建表格如果不存在"也是如此)删除数据库崩溃了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'
Run Code Online (Sandbox Code Playgroud)
等等,都是一样的:表不存在,但不能创建;
mysql> drop database askyou;
ERROR 2013 (HY000): Lost connection to MySQL server during query
Run Code Online (Sandbox Code Playgroud)
名称发生变化,这不是我遇到问题的唯一表/数据库
我有以下代码:
$db_host = 'localhost';
$db_port = '3306';
$db_username = 'root';
$db_password = 'root';
$db_primaryDatabase = 'dsl_ams';
// Connect to the database, using the predefined database variables in /assets/repository/mysql.php
$dbConnection = new mysqli($db_host, $db_username, $db_password, $db_primaryDatabase);
// If there are errors (if the no# of errors is > 1), print out the error and cancel loading the page via exit();
if (mysqli_connect_errno()) {
printf("Could not connect to MySQL databse: %s\n", mysqli_connect_error());
exit();
}
$queryCreateUsersTable = "CREATE TABLE IF NOT EXISTS `USERS` …Run Code Online (Sandbox Code Playgroud) 我在数据库xxx中有一个mysql表y,我尝试在使用之前更改压缩类型
alter table y row_format=compressed key_block_size=8
过程停止了一半.我在mysql lib目录中删除了临时文件'#sql-ib265.frm和#sql-ib265'并重新启动了服务器.但是现在,当我再次尝试更改表y(使用上面的相同命令)时,我收到错误.
ERROR 1050 (42S01) at line 1: Table 'xxx/#sql-ib265' already exists
我不能删除表'xxx /#sql-ib265',因为它无法找到.我该怎么办?
编辑方案:
I ended up dropping the old database and recreate the database.