我在mysql / php中遇到了大麻烦。
我使用serialize方法将address/city/country
等存储在数据库中。
但是现在,我不知道如何从序列化数据中找到特定的城市,以及如何在mysql中对这些记录进行排序。
我的序列化数据是:
a:6:{s:12:"country_code";s:2:"IT";s:10:"country_id";s:3:"105";s:7:"Address";s:16:"Via Emilia 234/B";s:3:"Zip";s:5:"40068";s:4:"City";s:21:"San Lazzaro Di Savena";s:8:"Province";s:2:"BO";}
我想从上面的数据中找到 province =“BO”,并按省份以asc或desc顺序对这些数据进行排序。
我不想使用。
请帮助我!
答案 0 :(得分:0)
当您选择将php序列化值存储在db列(无模式范例?)中时,它不是由mysql引擎(它将其视为文本值),而是基于该值锁定自己使用sql(除了字符串函数)。
您可以为所需的字段order by
where
等创建列。
使用postgresql你可以选择JSONB
保持无模式但是在值上使用sql,我不熟悉mysql的json支持。