MySQL中如何将动态参数传递给select语句?
我在MySQL中有一个查询:MySQL中如何将动态参数传递给select语句?,mysql,Mysql,我在MySQL中有一个查询: select id, 1 from table; 当我运行此查询时,我将得到如下结果 id | 1 -----|---- 5001 | 1 5002 | 1 5003 | 1 这里我将静态值作为参数传递给SQL查询。 代替静态值,我有一个如下列表 A = [1,2,3] 表的大小与表中的行数相同 列表元素可能不是递增顺序,它们可能是任意顺序,元素也可能有字符串,但我们将有一个列表 我想用A.替换静态参数,这样它将与list一起迭代,并给出list元素
select id, 1 from table;
当我运行此查询时,我将得到如下结果
id | 1
-----|----
5001 | 1
5002 | 1
5003 | 1
这里我将静态值作为参数传递给SQL查询。
代替静态值,我有一个如下列表
A = [1,2,3]
表的大小与表中的行数相同
列表元素可能不是递增顺序,它们可能是任意顺序,元素也可能有字符串,但我们将有一个列表
我想用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)
试试这个:
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)
1,2,3
总是递增顺序吗?不,它们可能是任何随机的东西,比如字符串或整数。但是这是一个列表,如果你愿意的话,你可以使用过程来完成。我只愿意使用查询而不是过程@AlekhyaVemavarapuis1,2,3
总是递增顺序?不,它们可能是任何随机的东西,比如字符串或整数。但这是一个列表,如果你愿意,你可以使用过程来完成。我只愿意使用查询,而不愿意使用过程@AlekhyaVemavarapu