Oracle的临时表有两种,基于事务和基于会话的,用起来比较得心应手。MySQL的临时表就很简单,在一个会话中创建,在其他的会话中是看不到的表的。临时表的用处就是缓存结果集,在代码中每次都要创建,插入数据,然后删除表。
session1:
mysql> CREATE TEMPORARY TABLE temp(id INT NOT NULL);Query OK, 0 rows affected (0.06 sec)
mysql> INSERT INTO temp VALUES(1);
Query OK, 1 row affected (0.09 sec)
mysql> select * from temp;
+----+
| id |
+----+
| 1 |
+----+
1 row in set (0.00 sec)
session2:
mysql> select * from temp;
ERROR 1146 (42S02): Table 'gg.temp' doesn't exist