这是我的数据
385_white 99 swarovski 12 black;blue
386_white 99 swarovski 12 black;blue;green
387_white 99 swarovski 12 yellow;green
389_white 99 swarovski 12 white;silver
385_white 99 swarovski 12 silver
这是一个示例查询
SELECT * FROM `products` WHERE `category` LIKE 'swarovski' AND `colours` LIKE 'silver'
返回的结果为空。如果用户想要黑色,那么它应该返回前两条记录。我无法编辑 color;color;color
格式。这时候是收费的。
最佳答案
像这样的非规范化架构的代价是您必须对查询做更多工作以确保准确匹配:
SELECT *
FROM `products`
WHERE `category` = 'swarovski'
AND (
`colours` = 'silver'
OR `colours` LIKE 'silver;%'
OR `colours` LIKE '%;silver;%'
OR `colours` LIKE '%;silver'
)
关于php - MySQL使用LIKE命令在分号之间查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12675882/