Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Truyền mảng vào truy vấn qua WHERE clause trong MySQL?


Dùng mệnh đề WHERE ... IN (...) với danh sách giá trị.

Tạo bảng

mysql> CREATE TABLE PassingAnArrayDemo (
    -> id INT,
    -> Firstname VARCHAR(100)
    -> );
Query OK, 0 rows affected (1.60 sec)

Chèn 8 bản ghi

mysql> INSERT INTO PassingAnArrayDemo VALUES
    -> (1,'John'),(2,'Carol'),(3,'Smith'),(4,'Bob'),
    -> (5,'Johnson'),(6,'David'),(7,'Sam'),(8,'Jessica');
Query OK, 8 rows affected (0.32 sec)
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)

Truy vấn với IN (tương đương truyền mảng [1,3,6])

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)