我正在寻找一个mySQL命令来根据数组字段是否包含该数组的特定项来选择行。
答案 0 :(得分:0)
不确定是否要查找存储在数据库中的数组中的项目,或者您想查找与数组中的项目匹配的所有行。
对于前者(鉴于MySQL本身不支持数组类型,我假设你正在做一些事情来将数据序列化为字符串列等):
SELECT [columns] FROM [table] WHERE [array_column] LIKE "%{separator}[test_value]{separator}%";
e.g. SELECT * FROM my_table WHERE values_list LIKE "%|5|%";
将执行该任务(其中分隔符是您用于分隔存储在字符串列中的值的任何字符 - 例如,给定数组[0,5,10,15]和分隔符“|”,序列化字符串将是“| 0 | 5 | 10 | 15 |”)
对于第二种情况:
SELECT [columns] FROM [table] WHERE [test_column] IN (list, of, some, values);
e.g. SELECT * FROM my_table WHERE my_value IN (0, 5, 10, 15);