0
在PostgreSQL中,您可以在使用psql運行查詢時從命令行傳入命名參數。例如,如果你運行如下命令:MySQL:如何從命令行傳遞參數?
psql -v v1=12 -f query.sql
裏面query.sql的,你可以參考V1像這樣:
select * from table_1 where id = :v1;
用MySQL支持類似的東西嗎?
在PostgreSQL中,您可以在使用psql運行查詢時從命令行傳入命名參數。例如,如果你運行如下命令:MySQL:如何從命令行傳遞參數?
psql -v v1=12 -f query.sql
裏面query.sql的,你可以參考V1像這樣:
select * from table_1 where id = :v1;
用MySQL支持類似的東西嗎?
存儲過程示例。
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
成爲基於連接的用戶變量。
您是否嘗試先閱讀文檔?:http://dev.mysql.com/doc/refman/5.7/en/mysql-command-options.html – Nicarus
是的,我沒有看到任何與此相關的內容。如果MySQL不支持它,我希望有人能證實,因爲我是新手。 – pca2
我也沒有看到任何東西,但檢查以下任何一種幫助:http://stackoverflow.com/questions/20145367/pass-mysql-variables-to-script-from-command-line或http:/ /stackoverflow.com/questions/10229324/pass-parameter-to-mysql-script-command-line – Nicarus