使用字典插入或更新

2024-04-25 21:10:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用字典更新值。 我的user_id已设置。我想update date_synced where user_id=user_id。用户表如下:User(user_id, mail, active, activity_level, date_synced)。你知道吗

字典用户看起来像:

[{'user_id': 1, 'date_synced': '2019-05-22 10:42:25'},
 {'user_id': 8, 'date_synced': '2019-05-22 10:42:25'}]

我试过的:

sql = 'UPDATE User SET {}'.format(', '.join('{}'.format(k) for k in dictUsers))
conn.execute(sql, dictUsers.values())

我的错误:

AttributeError: 'list' object has no attribute 'values'

预期输出是“我的用户”表中更新的同步日期。我该怎么做?你知道吗


Tags: 用户idformatsqldate字典updatemail
1条回答
网友
1楼 · 发布于 2024-04-25 21:10:42

尝试这样的操作(从official documentation):

stmt = users.update().\
        values(name='ed wood').\
        where(users.c.id == addresses.c.id)
conn.execute(stmt)

你的情况应该是这样的。您可以在字典中循环此操作,以便为每个用户执行以下操作:

stmt = user.update().\
        values(date_synced=dictUsers[i].date_synced).\
        where(user.c.user_id == dictUsers[i].user_id)
conn.execute(stmt)

相关问题 更多 >