首页 > 解决方案 > 更新列而不覆盖 sqlite3 中的内容

问题描述

我需要更新列而不覆盖其内容。我尝试使用 || 的 sqlite3 语法“concat”,但它没有用。这样数据不会被保存并且该列保持为空。

data = ('Hello!', 1)
sql = """UPDATE dbase SET observation = observation || ? WHERE id = ?;"""
c = conn.cursor()
c.execute(sql, data)
conn.commit()
conn.close()

任何想法?

标签: python-3.xsqlite

解决方案


and the column remains empty

如果是当前,那么observationNULL任何东西连接到它也只会生成NULL。一种选择可能是:

data = ('Hello!', 1,)
sql = "UPDATE dbase SET observation = COALESCE(observation, '') || ? WHERE id = ?;"
c = conn.cursor()
c.execute(sql, data)

推荐阅读