我想选择带有条件的mysql' comma in strings'。
我有表product
,它有字段:'id, name, rack'
。
我想搜索特定机架上的产品,因此用户将使用逗号输入一些字符串。所以我有一个字符串变量,如下所示:
vrack='d1,a2,x3,a1'
或有时vrack='a1' or vrack='b1,c3'
等。
如何在mysql上选择它?
select * from product where rack=' + vrack
编辑:添加了表截图
因此,如果我有vrack:='P1,K2,G1'
,则输出应显示Ball,Pencil,Eraser
答案 0 :(得分:6)
创建详细信息表格。您可以使用外键链接表 Rack 和 Product 。不要在数据库中存储逗号分隔值。例如,PostgreSQL有这种情况的数组数据类型,但那是PostgreSQL,而不是MySQL,甚至你应该考虑是否真的需要它。
但是,如果您需要将多个位信息存储到单个字段中并且它不超过64个不同的位,您可以创建一个整数字段类型并构建一个位掩码(但这似乎不是您的情况)。
答案 1 :(得分:1)
试试这个: -
select * from product where rack in ('A1','B2');