这是下面从qwidgets导入数据的列表。
list = ['2020/02/21', 'name', 'location', 'item1', 'item2', 'item3', 'item4', 'item5']
要么
list = ['2020/02/21', 'name', 'location', 'item1']
要么
list = ['2020/02/21', 'name', 'location', 'item1', 'item2', 'item3']
如何将此列表数据插入到SQLite3数据库中。我正在使用下面的数据库结构。
conn = sqlite3.connect('test.db')
conn.execute("INSERT INTO \
maintable(date,name,location,item1,item2,item3,item4,item5,item6, item7,item8, item9, item10) \
VALUES ('{}', '{}', '{}', '{}', '{}', '{}', '{}', '{}', '{}', '{}', '{}', '{}', '{}')
您永远不要通过将参数值添加到查询字符串中来构建请求。我曾经是旧的SQL注入攻击的媒介,攻击者可以通过简单地伪造参数值来传递任意SQL命令。
推荐的方法是使用参数化查询。
在这里,您应该简单地做:
conn.execute("INSERT INTO \
maintable(date,name,location,item1,item2,item3,item4,item5,item6, item7,item8, item9, item10) \
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)", lst + [None] * (13 - len(lst)))
顺便说一句,我重命名了您的列表变量,lst
以避免隐藏内置list
函数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句