今天,我放下一张临时桌子时遇到了这个奇怪的问题。我删除了临时表,然后对表进行了描述以进行验证。但是,该表未删除。经过一番搜索,我发现:
MySQL允许创建一个与永久表同名的临时表。因此临时表被删除,而不是永久表。我对正在使用哪张桌子感到非常困惑。
MySQL版本:5.1.36-enterprise-gpl-pro-log
这是我测试过的:
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
这是一个错误还是有其他方法可以克服这个问题?