我想在python中创建一个没有默认rowid字段的SQLite表。
例如,我试过
import sqlite3
conn = sqlite3.connect("mydatabase.db")
cursor = conn.cursor()
sql = "CREATE TABLE tblTest (myid VARCHAR(20) PRIMARY KEY, testField1 VARCHAR(14), testField2 VARCHAR(2500) ) WITHOUT ROWID "
cursor.execute(sql)
这是我得到的错误:
sqlite3.OperationalError: near "WITHOUT": syntax error
有什么建议吗?提前谢谢。
答案 0 :(得分:2)
您可能需要更新版本的SQLite。 without rowid
语法需要3.8.2或更高版本。
链接到sqlite3可执行文件的sqlite库的版本。 。
$ sqlite3 --version
3.7.9 2011-11-01 00:52:41 c7c6050ef060877ebe77b41d959e9df13f8c9b5e
包含在python标准库中的版本。 。
$ python
[snip]
>>> import sqlite3
>>> sqlite3.sqlite_version
'3.7.9'
有关版本检查如何误导您的信息,请参阅this SO answer。