Skip to main content
 首页 » 编程设计

python之如何将包含 '/' 的值插入到 sqlite 中

2025年05月04日12pander-it

conn = sqlite3.connect(self.__database_name) 
c = conn.cursor() 
sql = 'INSERT OR IGNORE INTO ' + self.__article_url_table_name + ' (url) values (%s)' % (href) 
c.execute(sql) 
conn.commit() 

我在调用的行中收到以下错误:c.execute(sql)

sqlite3.OperationalError: near "/": syntax error

url 变量是一个包含 url 的字符串,如:https://www.foo.com/bar.html

我的代码有什么错误?

请您参考如下方法:

您不应该使用字符串插值来编写 SQL 查询。除了您遇到的问题外,它还使您容易受到 SQL 注入(inject)的影响。改用参数:

sql = 'INSERT OR IGNORE INTO ' + self.__article_url_table_name + ' (url) values (?)' 
c.execute(sql, (href,))