如何更改sql中特定行中的值



我有一个不同列的表,其中有tasksusername

我想更改特定usernametasks的值,我正试图使用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,每个用户+任务组合都有一行。

最新更新