python - 如何更改sql中特定行中的值?
问题描述
我有一张表,其中包含不同的列tasks
和username
。
我想更改tasks
特定的值,username
我正在尝试使用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
,其中每个用户+任务组合都有一行。
推荐阅读
- android - Play Services Analytics 是否与 Gradle 3.3/AndroidX 兼容?
- python - 如何创建一个变量,其值在文件重新加载时仍然存在?
- javascript - 映射复选框 id 以返回相关属性
- cassandra - 带有 TTL 的 Cassandra 墓碑
- r - R 中的 geocode_OSM() 返回 $query = NA 在循环中失败,但可以自行工作
- css - 空属性选择器在 Edge 浏览器中不起作用
- c++ - 从服务器接收大型二进制文件
- javascript - 返回回调函数外的回调值(ajax)
- excel - 如何根据单元格的值循环遍历列创建文件夹?
- haskell - 不能在一个单子中提升多个参数