首页 > 解决方案 > 如何更改sql中特定行中的值?

问题描述

我有一张表,其中包含不同的列tasksusername

我想更改tasks特定的值,username我正在尝试使用UPDATE,但它删除了所有以前的数据:

c.execute('UPDATE users SET tasks = "' + x + '" WHERE username = "' + username + '"')

像这样,旧数据被删除,任务设置为,x但我想要添加xtasks. 我该怎么做呢?

标签: pythonsqlsqlitesql-update

解决方案


连接tasks而不是覆盖它。

c.execute('UPDATE users SET tasks = tasks || "," || ? WHERE username = ?', (x, username))

请注意,将逗号分隔的列表放在表格列中是糟糕的数据库设计。您应该有另一个表user_tasks,其中每个用户+任务组合都有一行。


推荐阅读