Mybatis中$和#的坑

平时写sql的时候不是那么在意$和#的区别,毕竟只是#表示占位符而$是拼接嘛,然后在一个更新语句中写$的时候报错了

Unknown column 'a47ce1c35b024e66b3ec8804fbd0379d' in 'where clause'

UPDATE mes_message SET  message_status = ? where id in     (      a47ce1c35b024e66b3ec8804fbd0379d    )

粗略一看好像没有什么问题啊,其实是id是字符串,直接拼接的话没有使用引号,mysql就自动判断为是某个变量了,当改成#后

UPDATE mes_message SET  message_status = ? where id in     (      ?    )

这样就可以啦

阅读更多
换一批

没有更多推荐了,返回首页