当前位置:  开发笔记 > 后端 > 正文

字符串文字中的Sqlite绑定

如何解决《字符串文字中的Sqlite绑定》经验,为你挑选了1个好方法。

使用sqlite3,如果我的查询是

SELECT * FROM table WHERE title LIKE '%x%'

它将匹配包含的字符串x.我想创建x一个可绑定的参数,如:

SELECT * FROM table WHERE title LIKE '%x?%'

但是,这不起作用,因为''形成一个字符串文字.有没有办法逃避?文字内部?我知道我可以构建可绑定参数来包含%然后使用

SELECT * FROM table WHERE title LIKE ?

但是在处理SQL注入而不是绑定接口方面,这会将责任转移到我的代码中.这有更好的解决方案吗?



1> laalto..:
SELECT * FROM table WHERE title LIKE '%' || ? || '%';


这不仅仅是sqlite; `||`是SQL标准; Postgres和Oracle遵循这一点.MySQL和MSSQL分别使用`CONCAT()`和`+`,都是非标准的.
推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有