A、临时表再断开于mysql的连接后系统会自动删除临时表中的数据,但是这只限于用下面语句建立的表:
1)定义字段
CREATE TEMPORARY TABLE tmp_table (
name VARCHAR(10) NOT NULL,
time date NOT NULL
)
更高级点就是:
create temporary TABLE `temtable` (
`jws` varchar(100) character set utf8 collate utf8_bin NOT NULL,
`tzlb` varchar(100) character set utf8 collate utf8_bin NOT NULL,
`uptime` date NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1″
连编码方式都规定了。。呵呵,以防乱码啊。
2)直接将查询结果导入临时表
CREATE TEMPORARY TABLE tmp_table SELECT * FROM table_name
B、另外mysql也允许你在内存中直接创建临时表,因为是在内存中所有速度会很快,语法如下:
CREATE TEMPORARY TABLE tmp_table (
name VARCHAR(10) NOT NULL,
value INTEGER NOT NULL
) TYPE = HEAP
那如何将查询的结果存入已有的表呢?
1、可以使用A中第二个方法
2、使用insert into temtable (select a,b,c,d from tablea)”;
http://www.0377joyous.com/archives/152.html