我应该如何在Python中进行sql查询?

问题描述 投票:0回答:1

我需要通过用户名或 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()

我有这样一个表,我需要每个用户向单独的列添加一个值。例如,用户选择了奇幻类型,我需要将该类型添加到该用户的奇幻列中。但是,这无法借助所提供的代码来完成(我尝试运行它,更新 sqlite 中的表,但无济于事)

python sql sqlite
1个回答
0
投票

双引号字符串使其成为标识符(有关详细信息,请参阅 https://www.sqlite.org/lang_keywords.html)。

"Fantasy"
不是字符串文字,而是列名称。您正在将列
Fantasy
更新为自身,这不会执行任何操作。

要表示字符串文字,您应该使用单引号('

),而不是双引号(
"
):

cursor_users.execute('''UPDATE bot_users SET Fantasy = 'Fantasy' WHERE id = 1''') # Here ------------------------------------------------^-------^
    
© www.soinside.com 2019 - 2024. All rights reserved.