簡體   English   中英

如何在MySQL中傳遞動態參數來選擇語句?

[英]How to pass dynamic parameter to select statement in MySQL?

我在MySQL中有一個查詢:

select id, 1 from table;

當我運行此查詢時,我將得到如下結果

id   | 1
-----|----
5001 | 1 
5002 | 1 
5003 | 1 

在這里,我將靜態值作為參數傳遞給SQL查詢。 代替靜態值,我有一個像

A = [1,2,3]

A的大小與表中的行數相同。

列表元素可能不以遞增順序排列,它們可能以任何隨機順序排列,元素也可能包含字符串,但我們將有一個列表。

我想用A替換靜態參數。這樣它就會用list進行迭代並給出list元素

我需要一個如下所示的查詢:

select id , A from table;

結果:

id  | A 
----|-----
5001| 1 
5002| 2 
5003| 3 

有人可以幫助我生成此查詢嗎?

嘗試這個:

mysql> select id from new_table;
+----+
| id |
+----+
|  1 |
|  2 |
+----+
2 rows in set (0.00 sec)

mysql> SET @row_number = 0;
Query OK, 0 rows affected (0.00 sec)

mysql> select id, @row_number := @row_number + 1, ELT(@row_number, '1111', 2222) AS A from new_table;
+----+--------------------------------+------+
| id | @row_number := @row_number + 1 | A    |
+----+--------------------------------+------+
|  1 |                              1 | 1111 |
|  2 |                              2 | 2222 |
+----+--------------------------------+------+
2 rows in set (0.00 sec)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM