如何更新数据库表字段中的序列化数据?
我想存储序列化数据以减少查询次数,但不知道如何更新它们。
答案 0 :(得分:3)
您必须获取序列化数据,unserialize()
,更改它,再次serialize()
,然后使用新的序列化数据更新数据库中的表行。
这太慢/太麻烦了,这就是你不应该在数据库中存储序列化数据的原因。
答案 1 :(得分:1)
一般而言,当然你想存储大量数据的地方,Alix是对的;尝试将数据作为行存储在数据库的表中。
作为一个例子,这里有人要求帮助存储a huge slab of what looks like shopping cart data,这正是你需要避免做的事情。
但是,如果您正在处理少量数据,那么序列化是合适的,因为只需读取一行来检索序列化数据然后将其写回可能不是一个巨大的资源负担。
作为一个例子,我正在建立一个酒店预订系统,每个客户都可以添加场地,然后他们可以与不同的客户联系。为简单起见,我使用的是序列化数据而不是行。
在这种情况下,我将一系列客户端ID存储到场地的行中。