你好我试图用mysql regex serach query
搜索ddw_0_op1
SELECT * FROM wp_postmeta WHERE meta_key RLIKE '(?=.*ddw_)(?=.*_op1)'
但在结果中它还显示了该字段的结果
_ddw_0_op1
但我想仅显示此字段ddw_0_op1
的结果。我怎么能做到这一点
在这张图片中我想要来自http链接字段的结果
我希望现在有意义
答案 0 :(得分:1)
使用INDEX(meta_key)
,这可能会更快:
WHERE meta_key LIKE 'ddw_%_op1'
AND meta_key RLIKE '^ddw_[[:digit:]]+_op1$'
首先LIKE
(没有前导通配符)可以使用索引。然后RLIKE
将验证只有数字位于中间(不使用索引)。
由于这有点像WP模式,因此wp_postmeta
上还有一些tips。 (提示不会加快你的ddw查询,但可能会帮助其他人。)