Warm tip: This article is reproduced from serverfault.com, please click

I get an error when changing data in SQlite; Python

发布于 2020-11-28 20:36:40

I'm trying to save new data in sqlite and get an error. Code:

 def saveChanges(player_to_save, player_id):
    db = sqlite3.connect('db_player.db')
    sql = db.cursor()
    sql.execute(f"""UPDATE users SET (lvl = {player_to_save.lvl}, exp = {player_to_save.exp}, hp = {player_to_save.hp}, items = {converToJson_items(player_to_save)}, weapon = {convertToJson_weapon(player_to_save)}, armour = {convertToJson_armour(player_to_save)}, bounus = {convertToJson_bounus(player_to_save)}, bonuses_award = {convertToJson_bonuses_award(player_to_save)}, stats = {converToJson_stats(player_to_save)} ) WHERE login = '{player_id}'""")

Error:

line 384, in saveChanges
sql.execute(f"""UPDATE users SET (lvl = {player_to_save.lvl}, exp = {player_to_save.exp}, hp = {player_to_save.hp}, items = {converToJson_items(player_to_save)}, weapon = {convertToJson_weapon(player_to_save)}, armour = {convertToJson_armour(player_to_save)}, bounus = {convertToJson_bounus(player_to_save)}, bonuses_award = {convertToJson_bonuses_award(player_to_save)}, stats = {converToJson_stats(player_to_save)} ) WHERE login = '{player_id}'""")
sqlite3.OperationalError: near "=": syntax error

How can i fix it?

Questioner
Frei
Viewed
0
Shradha 2020-11-29 16:25:29

Use this syntax-

sql.execute('''UPDATE tablename SET v1 = ?, v2 = ? where c1 = ?;''', (new_val1, new_val2, condition))