2017-01-29 14 views
0

したがって、このテキスト(varchar)フィールドには、idson {1,2}のjsonを持つデータベースがあります。 これらのIDのwhere句の1つをどのように一致させるのですか。sqlでは、jsonフィールドから選択する方法

私も雄弁を使っています私は彼らの文書で答えを見つけることができませんでした。

+0

ようこそStackOverflow!あなたの質問にいくつかのコードや詳細を追加してください。あなたが言いたいこと(textbox、json、sql)が互いにどのように関係しているかを説明すれば、答えを見つける方がはるかに簡単です。いくつかのコードを見せてください! – ventiseis

+0

あなたはしません。これは、リレーショナルデータベースの使用方法ではありません。 – AbraCadaver

+0

このjsonフィールドのidの1つに一致させるためには、常に行全体をフェッチしてから各行をループし、一致しない行をフィルタリングすることができます。私はちょうどSQLを介してそれらをフィルタリングする方法があるのだろうかと思っていた。 –

答えて

0

あなたの質問に「PHP」タグがありますので、PHPの解決策はかなりあると思いますか?

どちらかあなたは次のようにMySQLのためにJSONを解析するためのUDFを使用することができます。https://github.com/ChrisCinelli/mysql_json

しかし、より良い方法は、JSONオブジェクトを選択し、json_decode()(http://php.net/manual/en/function.json-decode.php)とPHPでそれを解析して、データを変換することですより適切なデータベーススキーマに変更してください。

JSONでエンコードされたデータに対してネイティブSQL文を使用することはめったに最適です。

インデックスを作成して新しいテーブルを作成し、jsonデータをデコードして新しいテーブルに挿入するPHP関数/メソッドを作成します。

0

「文字列が含まれています」または正規表現のロジックを使用できますが、これはエラーが発生する可能性があります。しかし、ほとんどのデータベースは、jsonをデータベースに保存し、クエリすることをサポートしています。 JSON data typeのようにMySQL。お役に立てれば。

関連する問題