我有一个不同列的表,其中有tasks
和username
。
我想更改特定username
的tasks
的值,我正试图使用UPDATE
,但它删除了所有以前的数据:
c.execute('UPDATE users SET tasks = "' + x + '" WHERE username = "' + username + '"')
像这样,旧数据被删除,任务被设置为x
,但我想要的是将x
添加到tasks
。我该怎么做?
连接到tasks
而不是覆盖它。
c.execute('UPDATE users SET tasks = tasks || "," || ? WHERE username = ?', (x, username))
请注意,将逗号分隔的列表放在表列中是糟糕的数据库设计。您应该有另一个表user_tasks
,每个用户+任务组合都有一行。