2016-08-02 25 views
0

PostgreSQLでは、psqlでクエリを実行するときに、コマンドラインから名前付きパラメータを渡すことができます。あなたがそうのようなV1を参照することができquery.sql内部MySQL:コマンドラインからパラメータを渡すには?

psql -v v1=12 -f query.sql 

:あなたはこのようなコマンドを実行した場合たとえば、

select * from table_1 where id = :v1; 

MySQLは類似した何かをサポートしていますか?

+0

最初にドキュメントを読もうとしましたか:http://dev.mysql.com/doc/refman/5.7/en/mysql-command-options.html – Nicarus

+0

はい、私はこれに関連する何も見ませんでした。 MySQLでサポートされていない場合は、誰かがそれを確認できることを望んでいました。 – pca2

+2

私は何も見たことがありませんでしたが、これらのいずれかが役立つかどうかを確認してください:http://stackoverflow.com/questions/20145367/pass-mysql-variables-to-script-from-commandlineまたはhttp: /stackoverflow.com/questions/10229324/pass-parameter-to-mysql-script-command-line – Nicarus

答えて

0

ストアドプロシージャの例。

DROP PROCEDURE IF EXISTS so_gibberish.blahBlah7; 
DELIMITER $$ 
CREATE DEFINER=`root`@`localhost` PROCEDURE so_gibberish.blahBlah7 
(
) 
BEGIN 
    select CONCAT('The variable is ',@myVar) AS 'theAnswer'; 
END$$ 
DELIMITER ; 

テストそれ:

OS Prompt> mysql -uroot -p so_gibberish -e "set @myVar='Hank Aaron'; call blahBlah7();" 
Enter password: ******** 
+----------------------------+ 
| theAnswer     | 
+----------------------------+ 
| The variable is Hank Aaron | 
+----------------------------+ 

so_gibberishは、データベース名です。 -eはこのクエリを実行することを意味します。

@myVarは、接続ベースのユーザー変数になります。

関連する問題