繁体   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