Recebi esse problema estranho hoje quando deixei cair uma mesa temporária. Larguei a mesa temporária e desci a mesa apenas para verificar. Mas, a mesa não foi descartada. Após algumas pesquisas, descobri que:
O MySQL permite criar uma tabela temporária com o mesmo nome que uma tabela permanente. Portanto, a tabela temporária caiu e não a tabela permanente. Fiquei realmente confuso com a tabela em que estou trabalhando.
Versão do MySQL: 5.1.36-enterprise-gpl-pro-log
Isto é o que eu testei:
mysql> create table test(id int);
Query OK, 0 rows affected (0.00 sec)
mysql> desc test;
| Field | Type | Null | Key | Default | Extra |
--------------------------------------------------
id int(11) YES NULL
mysql> create temporary table test(id int);
Query OK, 0 rows affected (0.00 sec)
mysql> desc test;
| Field | Type | Null | Key | Default | Extra |
--------------------------------------------------
id int(11) YES NULL
mysql> drop table test;
Query OK, 0 rows affected (0.00 sec)
mysql> desc test;
| Field | Type | Null | Key | Default | Extra |
--------------------------------------------------
id int(11) YES NULL
Isso é um bug ou existe uma maneira alternativa de superar isso?