我想将用户定义参数的值传递给mysql控制台并使用如下:
example.sql :
SELECT (@somevar + 1) as my_sum;
用法示例:
C:>bin\mysql -utest -p --xml **{somehow @somevar:=100}** < example.sql
<?xml version="1.0"?>
<resultset statement="SELECT (@somevar + 1) as my_sum"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<row>
<field name="my_sum" xsi:nil="true" />
</row>
</resultset>
有可能吗?
答案 0 :(得分:2)
C:>bin\mysql --init-command="SET @somevar:=100"
mysql> select @somevar;
+----------+
| @somevar |
+----------+
| 100 |
+----------+
重新评论:
是的,奇怪的是它没有记录。但是你可以用mysql --help
看到它。你也可以像我一样尝试它,看看它是否有效。
我已经记录了一个错误,要求将此选项添加到手册中。
答案 1 :(得分:1)
这应该有效
c:\bin>set somevar=1
c:\bin>mysql -e "select %a%+1 as my_sum"
答案 2 :(得分:0)
我想到的另一种解决方案(仅供参考):
C:>bin\mysql -utest -p --xml -e "SET @somevar:=100; source example.sql;"
<?xml version="1.0"?>
<resultset statement="SELECT (@somevar + 1) as my_sum"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<row>
<field name="my_sum">101</field>
</row>
</resultset>