2011-07-29 55 views
3

我正在使用MySql命令工具从我写的Ruby脚本中查询数据库。然而,需要创建一个临时表的查询,然后在另一个查询中,我需要在临时表上执行一个连接。唯一的问题是每次我调用mysql -h <host> -r <username> -D <database> -e "QUERY"我得到一个新的事务,所以当我尝试执行我的连接时,临时表不再存在。MySql命令行:一次执行两个查询?

有没有办法执行两个单独的查询一个调用mysql命令行工具?

喜欢的东西: mysql -h <host> -r <username> -D <database> -e "QUERY1" -e "QUERY2"

或者是有来存储我的查询一些替代的方法是什么?像在一个文本文件或什么的?

谢谢

+3

你试过用分号分开它们吗? – Jacob

+1

你可以执行一个脚本文件 - shell> mysql Devart

+0

谢谢你们的帮助。 –

回答

10

不会“;”诀窍吗?

mysql -h <host> -r <username> -D <database> -e "QUERY1;QUERY2"

+0

这工作得很好!谢谢。我阅读了命令行工具的文档,但没有看到';'标记为分隔符。 –

+0

这是一个幸运的猜测;)。另外,如果您要多次查询临时表并关心性能,最好创建一个到mysql的连接。然后,您可以只创建一次表并在一个会话中执行所有查询。 – Binus

+0

我只需要一个小的查询,我不得不创建一个临时表,因为它不是我的数据库:(感谢您的建议。 –