我有一个SQLite数据库,我想用一个单词(从变量中)搜索两列
目前我有以下代码和查询...
selection = locTextBox.get()
cursor.execute("SELECT * FROM depot_racks WHERE rack OR floorzone LIKE '%' || ? || '%'", (selection,))
for row in cursor.fetchall():
dataArea.insert("", tk.END, values=row)
当变量为空时,它返回所有正确的结果;当变量设置为FZ1时,它返回在地板区域列中找到的项目,但是如果变量包含RACK1,则它从机架列中不返回任何内容。
通过用户从中选择的组合框(RACK1,RACK2等或FZ1,FZ2等)设置变量
该查询显然在某种程度上是错误的,我只是无法弄清楚,感谢您的帮助!
答案 0 :(得分:1)
OR
在算术上不像“ +”那样关联,因此您必须重复整个LIKE
部分。
cursor.execute("SELECT * FROM depot_racks WHERE rack LIKE '%' || ? || '%' OR floorzone LIKE '%' || ? || '%'", (selection, selection))