2011-04-22 94 views
6

是否可以让一个sql脚本使用外部定义的变量?MySQL:在脚本中使用环境变量

例如我有以下脚本:

UPDATE mytable 
SET valid = 0 
WHERE valid = 1 

,我有过mysql命令行多次运行,每一个不同的表名。

我想是这样的:

SET table_name=foo 
mysql -uuser -ppassword < myscript.sql 

这可能吗?

+0

如果你使用一些语言中它会很容易! – Sourav 2011-04-22 13:02:35

+0

我试图做到纯粹的mysql/DOS模式... :( – Don 2011-04-22 15:24:59

回答

5

踢脚线周围的环境变量,为什么不:

sed 's/mytable/foo/' myscript.sql | mysql -uuser -ppassword 
+0

是否有类似的程序在Windows/DOS? – Don 2011-04-22 15:23:28

+1

Google(“Windows sed”)发现http://gnuwin32.sourceforge.net/packages/ sed.htm – VoteyDisciple 2011-04-22 18:41:35