Bug #3595 Erroneous CREATE TABLE can half-create an INNODB table
Submitted: 28 Apr 2004 22:56 Modified: 28 Apr 2004 23:20
Reporter: Peter Gulutzan Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S3 (Non-critical)
Version:4.1.2-alpha-debug OS:Linux (SuSE 8.2)
Assigned to: CPU Architecture:Any

[28 Apr 2004 22:56] Peter Gulutzan
Description:
If I enter a "CREATE TABLE ... engine=innodb" statement, and there is an error in the table 
definition, then I'll get an error message. Fine. But the table is half-created. That is, MySQL 
considers it existent, but InnoDB does not. Dictionary information is out of synch. 

How to repeat:
mysql> create table t_ (s1 int,primary key (s1,s1)) engine=innodb; 
ERROR 1005 (HY000): Can't create table './db41/t_.frm' (errno: 126) 
mysql> create table t_ (s1 int); 
ERROR 1050 (42S01): Table 't_' already exists 
mysql> drop table t_; 
ERROR 1051 (42S02): Unknown table 't_' 
mysql> insert into t_ values (5); 
ERROR 1016 (HY000): Can't open file: 't_.InnoDB' (errno: 1)
[28 Apr 2004 23:20] Guilhem Bichot
Fixed by Monty and I yesterday in 4.1 (that was the reason for the symlink.test failure). If you pull now the problem should have disappeared.