我来自PostgreSQL背景,在那里我可以写下以下内容:
SELECT * FROM my_table WHERE my_table.text_column = ANY(:input::text[])
在这个查询中,我传递了一个字符串值数组。这允许我传递任意数量的输入参数,而不事先知道大小。
你会如何在MySQL中做到这一点?我的目标是MySQL 8,如果这很重要的话。
答案 0 :(得分:1)
一种方法是使用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);