在sql中,如何从json字段中进行选择

时间:2017-01-29 23:11:14

标签: php sql json eloquent

所以我在数据库中有这个文本(varchar)字段,其中json带有ids,例如{1,2} 如何在where子句中匹配其中一个id。

我也使用雄辩,我无法在他们的文档中找到答案。

2 个答案:

答案 0 :(得分:0)

你可以使用某种"字符串包含"或正则表达式逻辑,但这很容易出错。但是,大多数数据库都支持在数据库中存储和查询json,例如,比如MySQL中的JSON data type。希望这会有所帮助。

答案 1 :(得分:0)

你有一个“PHP”标签以及你的问题,所以我想PHP解决方案可能相当可观?

您可以使用UDF解析MySQL的JSON,如:https://github.com/ChrisCinelli/mysql_json

但更好的方法是选择JSON对象并使用json_decode()(http://php.net/manual/en/function.json-decode.php)在PHP中解析它,然后将数据转换为更适合您的意图的数据库模式。

在JSON编码数据上使用本机SQL语句很少是最佳选择。

我将使用正确的索引创建一个新表,然后创建一个PHP函数/方法来解码json数据并插入到新表中。