今日、一時テーブルを削除したときに、この奇妙な問題が発生しました。確認のために一時テーブルを削除し、テーブルを記述しました。しかし、テーブルは削除されませんでした。いくつか検索したところ、次のことがわかりました。
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
これはバグですか、これを克服する別の方法はありますか?