And*_*gan 5 php mysql json database-design laravel
如何匹配整个 MySQL JSON 列的内容?
例如
SELECT COUNT(id) as matches
FROM my_table
WHERE my_table.settings = '{ "color": "red", "location": "Australia", "flavour": "cheese" }'
Run Code Online (Sandbox Code Playgroud)
其中设置是JSON列类型。问题是当我在字段中存储 JSON 时,键的排列方式不同。
matches === 0当实际上有很多匹配时,上面的结果就会产生。
您必须使用该JSON_EXTRACT功能。
SELECT COUNT(id) as matches
FROM my_table
WHERE
JSON_EXTRACT(`settings` , '$.color') = "red"
AND JSON_EXTRACT(`settings` , '$.location') = "Australia"
AND JSON_EXTRACT(`setting`, '$.flavour') = "cheese";
Run Code Online (Sandbox Code Playgroud)
我大部分时间都在使用 ORM,所以我可能会混淆一些反引号和引号,但我希望您能明白!
| 归档时间: |
|
| 查看次数: |
754 次 |
| 最近记录: |