对于插入表格,安全的方法是
c.execute("insert into table (?,?,?,...)",my_tuple)
但是,如何安全地创建表呢?我已经尝试过这样的事情:
conn = sqlite3.connect(database)
c = conn.cursor()
cmd = "create table ? (? text,? text)"
my_tuple = ("my_table","first","second")
c.execute(cmd,my_tuple)
但我得到这样的错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
sqlite3.OperationalError: near "?": Syntax error
我是否应该在python中组装一个字符串并将其扔到sqlite来创建表?
解决方法:
如果您只是想导入csv文件,并假设some user who might try to mess with your database不会将其发送给您,则可以将其放到Python中:
"create table %s (%s text,%s text)" % ("my_table","first","second")
如果电子表格很可能来自恶意用户,那么您就需要担心如何清理列/文件名.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。