Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL中如何将动态参数传递给select语句?_Mysql - Fatal编程技术网

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

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元素

我在MySQL中有一个查询:

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
总是递增顺序吗?不,它们可能是任何随机的东西,比如字符串或整数。但是这是一个列表,如果你愿意的话,你可以使用过程来完成。我只愿意使用查询而不是过程@AlekhyaVemavarapuis
1,2,3
总是递增顺序?不,它们可能是任何随机的东西,比如字符串或整数。但这是一个列表,如果你愿意,你可以使用过程来完成。我只愿意使用查询,而不愿意使用过程@AlekhyaVemavarapu