【发布时间】:2015-12-22 10:35:45
【问题描述】:
Python 3 + tkinter 和 sqlite3
我正在做一个模拟应用程序来在 sqlite 中保存一段文本
功能如下:
def saveNote(self,note_id):
conn = db.connect(fname)
c = conn.cursor()
safeTitle=self.newNoteTitle.get()
safeContents=self.newNoteText.get("1.0",tk.END)
safeLink=self.newNoteLink.get()
safeRemarks=self.newNoteRemarks.get()
conn.execute('UPDATE notes SET (title,contents,remarks,link,created,last_modified,notebook_id) VALUES (?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, ?) WHERE notes_id=5', (safeTitle, safeContents, safeRemarks, safeLink, 1))
conn.commit()
self.master.destroy()
在执行函数时,我得到这个错误:
conn.execute('UPDATE notes SET (title,contents,remarks,link,created,last_modified,notebook_id) VALUES (?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, ?) WHERE notes_id=5', (safeTitle, safeContents, safeRemarks, safeLink, 1))
sqlite3.OperationalError: near "(": syntax error
我不太明白为什么语法错误...(我是 python 新手)...谁能帮我找出错误?
谢谢
【问题讨论】:
-
SQLite 语法图很有帮助:例如,sqlite.org/lang_update.html 和 sqlite.org/lang_insert.html
-
感谢您的链接,但我已经阅读了它并且我的语法似乎没问题?
-
您的语法有缺陷。
VALUES这个词没有出现在这个语法图中的任何地方:sqlite.org/lang_update.html(或)也没有。