0

我想在 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

有什么建议么?先感谢您。

4

1 回答 1

3

您可能需要更新版本的 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'

有关版本检查如何误导您的信息,请参阅此 SO answer

于 2014-04-02T20:31:38.213 回答