如何在sqlite中使用占位符执行SELECT*LIKE语句?

yak*_*ang 4 python sql sqlite

我有一个争论tag,我这样做:

cursor.execute("SELECT * FROM posts WHERE tags LIKE '%?%'", (tag,))
Run Code Online (Sandbox Code Playgroud)

但它似乎没有用.
我是sqlite的新手,请告诉我如何修复它.谢谢 !

Mar*_*ers 5

将通配符应用于参数,而不是SQL:

cursor.execute("SELECT * FROM posts WHERE tags LIKE ?", ('%{}%'.format(tag),))
Run Code Online (Sandbox Code Playgroud)

?SQL参数插值增加了报价给你,所以你的查询结束的'%'value'%',这不是有效的SQL.