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()函数。您可以unserialize()通过 PHP 运行它,但在原始 SQL 中没有真正可靠的方法来执行此操作。

在这种情况下,这似乎将无模式数据(即,对于特定记录可能存在也可能不存在的数据,本质上可能是任意的)保存到数据库中。

于 2013-02-25T23:00:26.987 回答