在MySQL中使用WHERE子句将数组传递给查询?

我们可以在where IN子句的帮助下传递数组。让我们首先为我们的示例创建一个新表。

mysql> create table PassingAnArrayDemo
   -> (
   -> id int,
   -> Firstname varchar(100)
   -> );

现在让我们插入记录。

mysql> insert into PassingAnArrayDemo values(1,'John'),(2,'Carol'),(3,'Smith'),(4,'Bob'),(5,'Johnson'),(6,'David'),(7,'Sam'),(8,'Jessica');
Records: 8  Duplicates: 0  Warnings: 0

显示所有记录。

mysql> select *from PassingAnArrayDemo;

以下是输出。

+------+-----------+
| id   | Firstname |
+------+-----------+
|    1 | John      |
|    2 | Carol     |
|    3 | Smith     |
|    4 | Bob       |
|    5 | Johnson   |
|    6 | David     |
|    7 | Sam       |
|    8 | Jessica   |
+------+-----------+
8 rows in set (0.00 sec)

以下是借助where IN子句发送数组参数的语法。

mysql> SELECT *
   -> FROM PassingAnArrayDemo where id IN(1,3,6);

以下是输出。

+------+-----------+
| id   | Firstname |
+------+-----------+
|    1 | John      |
|    3 | Smith     |
|    6 | David     |
+------+-----------+
3 rows in set (0.04 sec)