我需要通过用户名或 ID 将数据添加到一列,但是,在这两种情况下,表中都没有任何更改。它不会写入任何错误,但也不会更新数据。这里可能出了什么错误?
import sqlite3
connection_users = sqlite3.connect("mybot.db")
cursor_users = connection_users.cursor()
cursor_users.execute('''UPDATE bot_users SET Fantasy = "Fantasy" WHERE id = 1''')
connection_users.commit()
connection_users.close()
双引号字符串使其成为标识符(有关详细信息,请参阅 https://www.sqlite.org/lang_keywords.html)。
"Fantasy"
不是字符串文字,而是列名称。您正在将列 Fantasy
更新为自身,这不会执行任何操作。
要表示字符串文字,您应该使用单引号('
),而不是双引号(
"
):
cursor_users.execute('''UPDATE bot_users SET Fantasy = 'Fantasy' WHERE id = 1''')
# Here ------------------------------------------------^-------^