如何在MYSQL中对序列化数据应用搜索过滤器

时间:2018-02-06 08:35:09

标签: php mysql serialization

我在数据库表中跟踪了序列化数据。

我想搜索"键名":"%value%"。我有以下格式的序列化数据。

我的序列化数据

SELECT * FROM ta_children c
JOIN ta_children_meta cm ON c.id = cm.child_id 
WHERE cm.child_data like '%atif%' AND cm.child_data like '%guardian_name%'

我已尝试过以下查询,但我没有成功。

查询我已尝试

display:none
查询 guardian_name 中的

是关键,%atif%搜索值。这是单一的,但它可能是动态的。所以,请回答动态搜索。

必填:如何使用键值对搜索序列化数据。

任何人都可以帮我吗?

1 个答案:

答案 0 :(得分:1)

您可能需要使用REGEXP正则表达式:

SELECT * FROM ta_children c
JOIN ta_children_meta cm ON c.id = cm.child_id 
WHERE cm.child_data  REGEXP '.*"array_key";s:[0-9]+:".*array_value.*".*'