如何在MySQL中将动态参数传递给select语句?

时间:2015-06-23 06:12:29

标签: mysql

我在MySQL中有一个查询:

select id, 1 from table;

当我运行此查询时,我将得到如下结果

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

这里我将静态值作为参数传递给SQL查询。 在静态值的位置,我有一个像

这样的列表
A = [1,2,3]

A的大小与表格中的行数相同。

列表元素可能不是它们可能在任何随机顺序中的增量顺序元素也可能包含字符串但我们将有一个列表。

我想用A替换静态参数。因此它将使用list迭代并给出列表元素

我需要一个如下所示的查询 例如:

select id , A from table;

结果:

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

有人可以帮助我生成此查询吗?

1 个答案:

答案 0 :(得分:0)

试试这个:

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)