在python sqlite3中添加第二个like子句

时间:2017-12-18 15:42:40

标签: python sqlite

我试图从sqlite数据库中获取包含“A1”列中某个单词和“A2”列中的另一个单词的行。我的代码如下所示:

a = input("Please insert word")
b = input("Please insert second word")
  ....
c.execute("SELECT * FROM board WHERE A1 LIKE ?" ("%" + a + "%",), "AND A2 LIKE ?" ("%" + b + "%",))

我得到一个TypeError:'str'对象不可调用。我很确定我的语法是错误的,但我无法弄清楚应该如何正确。有什么帮助吗?

2 个答案:

答案 0 :(得分:0)

这是最后一行。应该是这样的

c.execute("SELECT * FROM board WHERE A1 LIKE ? % {} % AND A2 LIKE ? % {} %".format(a,b))

答案 1 :(得分:0)

execute() method需要两个参数:一个SQL语句字符串和一个包含SQL参数的列表:

c.execute("SELECT * FROM board WHERE A1 LIKE ? AND A2 LIKE ?",
          ("%" + a + "%", "%" + b + "%"))