【发布时间】:2021-10-18 12:26:30
【问题描述】:
我正在尝试使用通配符和占位符进行查询以搜索所有名称
cursor.execute("SELECT * FROM article WHERE name LIKE %(?)%", (letter,)).fetchall()
但我不断收到此错误
sqlite3.OperationalError: near "%": syntax error
【问题讨论】:
我正在尝试使用通配符和占位符进行查询以搜索所有名称
cursor.execute("SELECT * FROM article WHERE name LIKE %(?)%", (letter,)).fetchall()
但我不断收到此错误
sqlite3.OperationalError: near "%": syntax error
【问题讨论】:
您必须将通配符连接到占位符:
cursor.execute("SELECT * FROM article WHERE name LIKE '%' || ? || '%'", (letter,)).fetchall()
【讨论】:
'... LIKE ?', (f'%{letter}%',),我觉得更明智。