代码
con = sqlite3.connect('db.sqlite3')
cur = con.cursor()
sql = 'SELECT id FROM ? WHERE source_id = ?'
cur.execute(sql, ('article_table', 41945,))
one = cur.fetchone()
con.close()
报错
sqlite3.OperationalError: near "?":
原因
sqlite3占位符(?)不能用于列或表的名称。
占位符用于从数据库中插入或检索数据的值,以便防止SQL注入。
解决
con = sqlite3.connect('db.sqlite3')
cur = con.cursor()
sql = 'SELECT id FROM article_table WHERE source_id = ?'
cur.execute(sql, (41945,))
one = cur.fetchone()
con.close()