0

Woocommerce/Wordpress を使用して基本的な ecomm ストアを構築したクライアントがいます。データベースでは、すべての注文項目がシリアル化されています。例えば:

a:1:{i:0;a:10:{s:2:"id";s:2:"25";s:12:"variation_id";s:0:"";s:4:"name";s:10:"The Hobbit";s:3:"qty";i:1;s:9:"item_meta";a:0:{}s:13:"line_subtotal";s:4:"17.5";s:17:"line_subtotal_tax";s:4:"1.84";s:10:"line_total";s:4:"17.5";s:8:"line_tax";s:4:"1.84";s:9:"tax_class";s:0:"";}}

データベースの天才ではない - なぜデータがシリアル化されるのですか? これには利点がありますか?さらに、その配列内の個々の値を取得するために SQL を非シリアル化することは可能ですか?

4

1 に答える 1

3

これはシリアル化された SQL ではなく、シリアル化されたデータであり、PHP のserialize()関数から出てきたように見える形式です。PHP経由で実行できますがunserialize()、生のSQLでこれを実行する信頼できる方法は実際にはありません.

この場合、スキーマレス データ (つまり、特定のレコードに存在する場合も存在しない場合もあり、潜在的に任意のデータ) をデータベースに保存しているように見えます。

于 2013-02-25T23:00:26.987 に答える