使用三个标准从 sqlite 表中选择行

我是 Sqlite 的新手。下面的代码行 c是一个光标:

c.execute(
    "SELECT rowid,* from statements "
    "WHERE [row1] = (?*) AND [row2] = (?) AND [row3] = 'text3'", 
    (text1,text2,)
)
items = c.fetchall()

在上面我试图找到 row1 中的文本是以 text1 开头的任何行,例如我想选择第 1 行是“牛”、“马”或温度计”的行,其中 text1="the"

第 2 行是“大象”,其中 text2="elephant"

第 3 行是“text3”

我使用 (?) 运算符,因为这是将使用不同参数调用的函数的一部分。


拉莫斯之舞
浏览 91回答 1
1回答

一只甜甜圈

您必须使用运算符LIKE代替=第一个条件,并且要使其起作用,您必须将占位符?与通配符连接起来'%':c.execute("SELECT rowid,* from statements  WHERE [row1] LIKE ? || '%' AND [row2] = ? AND [row3] = 'text3'", (text1,text2,))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python