mysql 关于临时表的问题 请问下在命令行内用mysqldump可以调用内存中的表吗?就是我用储存过程创建了个临时表,执行过程后临时表的数据在内存里,现在我想把临时表中的数据dump出来,可以吗?还是创建一个普通的表,然后dump后再删除这个表,作用就跟临时表一样了。? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我知道,在mysql command line client里用select * from tmp_table into outfile "name.txt"可以把临时表里的导出来。但我想问的是如何mysqldump命令来找到临时表,如何从内存内dump。 mysqldump -uroot -p1234 db1 table1 > xx.sql 参考一下手册中的用法和说明。MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html mysql> CREATE TEMPORARY TABLE TMP(A int);ERROR 1046 (3D000): No database selectedmysql> use mydb;Database changedmysql> CREATE TEMPORARY TABLE TMP(A int);Query OK, 0 rows affected (0.20 sec)mysql> insert into TMp values(1);Query OK, 1 row affected (0.06 sec)mysql> select * from tmp;+------+| A |+------+| 1 |+------+1 row in set (0.00 sec)mysql> exitByeMicrosoft Windows XP [版本 5.1.2600](C) 版权所有 1985-2001 Microsoft Corp.D:\mysql6\bin>mysqldump -uroot -p123 mydb tmp>1.sqlmysqldump: Couldn't find table: "tmp"D:\mysql6\bin>临时表只是连接有效,也就是说你在连接1里面创建的临时表,能且只能在连接1内访问得到。另外启动一个连接或者断开原来的链接回到DOS命令行下,都会导致临时表的失效。4楼的答案有待商榷。在连接保持的情况下select * from tmp_table into outfile "name.txt"可以得到临时表的数据。 mysql 有global临时表就好了。 所以我用储存过程创建一个临时表,并把数据库里的数据插入到临时表内,call执行后,(没有exit),然后进行dump是不可行的喽? call执行后,(没有exit),然后进行dump是不可行的喽?你能够做到DUMP和存储过程是同一个SESSION么??如果你能做到,那么可行。否则不可行。DUMP不属于任何一个SESSION。 出错了,mysql 在两台计算机上实现数据同步。(主从模式) 一个关于mysql字符编码的问题。 mysql 在存储过程中逐行读取表中的数据,对其操作的问题 在C#查询MySql里如下42000错误异常,怎么解决? 编码问题 崩溃了....... 关于一个建表建库的初级问题! 如何在一行中返回两个字段名相同的值,sql句法求救,在线等...... float 急急急!!!!!!! linux下mysql5.7怎么修改最大连接数 求SQL语句 紧急问题求助---MYSQL的二进制日志内容
MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html
mysql> CREATE TEMPORARY TABLE TMP(A int);
ERROR 1046 (3D000): No database selected
mysql> use mydb;
Database changed
mysql> CREATE TEMPORARY TABLE TMP(A int);
Query OK, 0 rows affected (0.20 sec)mysql> insert into TMp values(1);
Query OK, 1 row affected (0.06 sec)mysql> select * from tmp;
+------+
| A |
+------+
| 1 |
+------+
1 row in set (0.00 sec)mysql> exit
Bye
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.D:\mysql6\bin>mysqldump -uroot -p123 mydb tmp>1.sql
mysqldump: Couldn't find table: "tmp"D:\mysql6\bin>
临时表只是连接有效,也就是说你在连接1里面创建的临时表,能且只能在连接1内访问得到。另外启动一个连接或者断开原来的链接回到DOS命令行下,都会导致临时表的失效。4楼的答案有待商榷。
在连接保持的情况下
select * from tmp_table into outfile "name.txt"
可以得到临时表的数据。