众所周知,在mysql数据库中‘\'是转义字符,所以在插入和查询时需要处理一下转义字符,插入很好办,把一个替换成两个就好了,但查询呢,稍微有一点点恶心,=查询一换二,like查询一换四。。。
比如数据库的字段如下
id text
01 \abc
假如查询id=01的这一行怎么办呢,如果是等于查询,把一个换成两个就好了
select * from table where text='\\abc'
但如果是用like查询呢,需要把一个换成四个
select * from table where text like '\\\\abc'
为什么呢,因为在查询时,like会对字符串进行一次转义,而在查询时还会再进行一次转义。所以,如果想要最后能匹配到一个 '\',就需要进行两次反转义,即把一个 '\' 换成四个 '\' 才行。