2009-10-19 48 views
0

我想知道下列命令(来自.bat脚本):连接到mysql实例ONCE或TWICE?

(1)连接到mysql实例一次,然后执行脚本#1,然后是脚本#2,或者(2)是否重新连接每个sql脚本?

mysql -B -b -h%HOST% -u%USER% -p%PASSWORD% %SCHEMA% < "scripts\create_and_populate.sql" < "scripts\update_joomla_article.sql" 

我有一种不好的感觉,它重新连接。如果是这样,我将如何去改变.bat脚本来执行一个接一个的sql脚本而不重新连接。干杯:)


编辑:

我只发现了最近,我莫大的耻辱:-Z,这个命令不实际工作如我所料。

mysql ... < script1 < script2 < script3出现在第一个工作,直到我发现,只有最后链中的脚本实际执行。尽管如此,我仍然欢迎任何有关如何以不同于科林皮卡德所建议的方式完成此任务的建议。

回答

1

也许你可以使用一对夫妻带着SELECT CONNECTION_ID();脚本来确定你的理论,然后是这样的:

copy scripts\create_and_populate.sql+scripts\update_joomla_article.sql scripts\temp\create_update.sql 
mysql -B -b -h%HOST% -u%USER% -p%PASSWORD% %SCHEMA% < "scripts\temp\create_update.sql" 
del scripts\temp\create_update.sql 

(警告:!我还没有测试的尝试,第一)

+0

感谢,这工作像一个魅力。我自己有这个想法,但是我发现它对于一个简单的问题来说太复杂了。然后,我认为像'mysql ... 2009-10-19 12:36:59

0

多一个建议,这个工作吗?

mysql -e script1 -e script2 -e script3