所以我在数据库中有这个文本(varchar)字段,其中json带有ids,例如{1,2} 如何在where子句中匹配其中一个id。
我也使用雄辩,我无法在他们的文档中找到答案。
答案 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数据并插入到新表中。