微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在python中创建sqlite3表的安全方法

对于插入表格,安全的方法

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 举报,一经查实,本站将立刻删除。

相关推荐