我在mysql5.7数据库表中有一个具有以下属性的产品表产品
我插入了以下记录:
INSERT INTO `products` (`id`, `attributes`, `name`, `cost_price`,
`selling_price`) VALUES (NULL, '{\"size\": [{\"value\": \"M\"},
{\"value\": \"L\"}], \"test\": 1, \"color\": [\"black\", \"maroon\",
\"orange\"]}', 'P2', '10', '20');
这里是该列的json值:
{“大小”:[{“值”:“ M”},{“值”:“ L”}],“测试”:1,“颜色”:[“黑色”,“栗色”,“橙色”]}
我如何获取大小为L的数据记录?如何在Mysql中执行SQL查询?我试过了,它不起作用:
SELECT * FROM `products` where attributes->>'$.size[*].value'='M'
希望有人可以帮助我理解,因为我很不了解mysql中的Json结构。在此先感谢
我设法解决了这个问题,我相信这是一个可能的查询:
select * from products where json_contains(attributes, '{"size":{"value" : "XL"}}');