如何通过Python中的变量分配ROWID?

时间:2017-07-28 22:20:22

标签: python sqlite

有没有办法可以通过Python中的变量分配SQLite rowid?我正在使用Tkinters 'get()'函数来检索条目的内容。

以下是代码:

jdbc:h2:mem:yourdbName

这是错误:

文件“R:/ Documents / PYTHON /登录和Pw.py”,第124行,在insertdata中     c.execute('INSERT INTO Students(rowid)VALUES',(studentidentry.get())) sqlite3.OperationalError:“VALUES”附近:语法错误

提前致谢。

1 个答案:

答案 0 :(得分:1)

创建表格时,将一列声明为INTEGER PRIMARY KEY

CREATE TABLE Students (
    StudentID INTEGER PRIMARY KEY,
    Surname VARCHAR NOT NULL,
    Forename VARCHAR NOT NULL,
    ...
);

这使该列成为ROWID的别名,然后您可以使用普通INSERT语句进行设置。

如果出于某些奇怪的原因,您希望将ROWID保留为隐藏列但仍为其设置显式值,则可以使用INSERT的显式列列表。

c.execute("INSERT INTO Students(ROWID, Surname, Forename) VALUES (?, ?, ?)", (5678, 'Tables', 'Robert'))