这是我的数据
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
Run Code Online (Sandbox Code Playgroud)
这是一个示例查询
SELECT * FROM `products` WHERE `category` LIKE 'swarovski' AND `colours` LIKE 'silver'
Run Code Online (Sandbox Code Playgroud)
返回的结果是空的.如果用户是黑色的,那么它应该返回第一个记录.我没办法编辑color;color;color格式.这个时候很费劲.
像这样的非规范化模式的惩罚是您必须对查询做更多的工作以确保准确匹配:
SELECT *
FROM `products`
WHERE `category` = 'swarovski'
AND (
`colours` = 'silver'
OR `colours` LIKE 'silver;%'
OR `colours` LIKE '%;silver;%'
OR `colours` LIKE '%;silver'
)
Run Code Online (Sandbox Code Playgroud)