有6列,出于某种原因,当我的程序在安装过程中遇到这段代码时,它只会创建一个没有表的空白文件。
通过反复试验,我发现唯一不能创建空白文件的方法是删除限制行。
我有其他运行的代码,只是对于不同的数据库看起来是一样的,而且运行得很好。
try:
# Connect to Database
conn = sqlite3.connect('databases/Categories.db')
cur = conn.cursor()
# Create Table
cur.execute("""CREATE TABLE categories (
priority text,
name text,
type text,
increment text,
total real,
limit real)""")
# Commit and Close
conn.commit()
conn.close()
except sqlite3.OperationalError:
pass
2条答案
按热度按时间wwtsj6pe1#
“limit”是一个sql关键字,例如
如果要在sqlite中使用“limit”作为列名,则需要使用以下方式之一引用它:
'限制'
“限制”
[限制]
限制
例如,你的陈述可以是
请注意,它也必须在其他语句中引用,例如
ws51t4hk2#
我做了更多的测试,并通过将限制行重命名为其他行来修复它。结果,sqlite3不喜欢名为limit的行。