0

値は company_id のように保存されます

["2"]
["2", "1"]

ここで、2 と 1 は会社の ID です。今、ID 2 のすべての結果が必要です。json でエンコードされたデータを再度クエリを起動するにはどうすればよいですか。

select * from tbl where company_id = 2

これが私が実行する必要があるものです。

詳細については、json 形式は、Zend2 の動的 (データベース値で埋める) Select List の結果です。

そして、それがjsonではなく配列だった場合、この単純な選択クエリをどのように実行できるか.

4

2 に答える 2

1

MySQL には、SETこのタスクでこのデータ型を使用できるというデータ型があります。これにより、カンマ区切りの値を入力しても、単一のアイテムごとにクエリを実行できます。

マニュアル: http://dev.mysql.com/doc/refman/5.0/en/set.html

クエリを次のように更新する必要があります。

SELECT * FROM tbl_name WHERE FIND_IN_SET('2', company_id);

ただし、この問題は、テーブルが適切に正規化されていないために発生します。アプリケーションが大規模になると、参照テーブルを追加してこの参照テーブルにクエリを実行する方がはるかに優れたオプションになります。

于 2013-04-09T14:34:28.773 に答える