2011-06-04 12 views
2

私は単一のフィールドを照会し、シリアル化されたデータでそれを注文する必要がありますか?シリアル化されたデータによるmysqlの注文?

私のテーブルのフィールドは、次のとおりです。

********************************************* 
| meta_id | user_id | meta_key | meta_value | 
********************************************* 

私のクエリは正常に動作しますが、ここで物事が私に何のシーンをしないために開始

meta_valueがためにシリアル化されたデータを保持している。この

SELECT user_id FROM $wpdb->usermeta WHERE meta_key='ba_ur' のように見えます例 a:2:{s:4:"data";s:9:"text text";s:6:"number";s:2:"22";} これは、シリアル化されていない場合、次のようになります。

array (
    'data' => 'text text', 
    'number' => '22', 
) 

と私はそのシリアル化されたデータの番号で注文する必要があるので、私の質問に戻っても可能ですか?もしそうなら、どのように?

ありがとうございました。

答えて

5

いいえ、できません。シリアライズされたデータが受け入れられる唯一の可能性のあるケースは、そのデータを検索または注文する必要がない場合です。それ以外の場合は、データを別々のフィールドとして保存します。

+0

ええ、それは私が恐れていたものです。ありがとう。 – Bainternet

関連する問題