簡體   English   中英

使用字典插入或更新

[英]Insert or update using a dictionary

我正在嘗試使用字典更新值。 我的user_id已設置。 我想update date_synced where user_id=user_id 用戶表如下所示: User(user_id, mail, active, activity_level, date_synced)

字典dictUsers看起來像:

[{'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'

預期的輸出是在我的用戶表中更新的date_synced。 我怎樣才能做到這一點?

嘗試這樣的東西(來自官方文檔 ):

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM