有没有办法可以通过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”附近:语法错误
提前致谢。
答案 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'))