我在数据库表中跟踪了序列化数据。
我想搜索"键名":"%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%搜索值。这是单一的,但它可能是动态的。所以,请回答动态搜索。
必填:如何使用键值对搜索序列化数据。
任何人都可以帮我吗?
答案 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.*".*'