Как передать произвольное количество строк в запрос? - PullRequest
0 голосов
/ 13 мая 2018

Я исходил из фона PostgreSQL, и там я мог бы написать следующее:

SELECT * FROM my_table WHERE my_table.text_column = ANY(:input::text[])

В этом запросе я передаю массив строковых значений.Это позволило мне передать любое количество входных параметров, не зная заранее размера.

Как бы вы сделали это в MySQL?Я нацеливаюсь на MySQL 8, если это имеет значение.

1 Ответ

0 голосов
/ 13 мая 2018

Одним из способов является использование ключевого слова IN.

SELECT * FROM my_table WHERE my_table.text_column IN('item1','item2','item3');

http://www.mysqltutorial.org/sql-in.aspx

Редактировать: без изменения запроса: если вы создаете временную таблицу для списка элементов, вы можете использовать:

SELECT * FROM my_table WHERE my_table.text_column IN  
(SELECT item from temptable);
...