2017-01-11 10 views
1

私はinventoryという列を持っています。MySQLバージョンでjson列を解析する方法<5.7

id ..... inventory 

この列の内容は次のとおり

{"STC1":{"count":"1"},"STC2":{"count":0}} 

count値は可変です。 私はアプリケーション側を使用したくない、私はSQLを使用したい。私が何をしたいの例

ため

... where STC1.count > 0 

または

... where STC1.count > 1 or STC2.count < 5 

答えて

1

あなたは、the official MySQL websiteによると、JSONサポートは5.7.8バージョンのために導入されてきたことができません古いバージョンではネイティブに使用できません。

MySQLの場合< 5.7.8の場合、このJSONコンテンツは単なる文字列であり、MySQLは構造化データを抽出することはありません。

で最高のあなたは0STC1またはそのような何かではなく、はるかに行を検出するために、WHERE inventory LIKE '%"STC1":{"count":"0"%'をチェックするabbleだろう、それは急速に複雑な何かをする本当に毛深いなってきます。

一般に、この種の問題を避けるためには、アトミックデータを格納する方が良いです。

関連する問題