Обновить столбец без перезаписи содержимого в sqlite3 - PullRequest
0 голосов
/ 08 ноября 2019

Мне нужно обновить столбец, не перезаписывая его содержимое. Я попытался с синтаксисом sqlite3 'concat', который является ||, но это не сработало. Таким образом, данные не сохраняются, а столбец остается пустым.

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

Есть идеи?

1 Ответ

1 голос
/ 08 ноября 2019

and the column remains empty

Если ток observation будет NULL, то при объединении чего-либо с ним также будет просто генерироваться NULL. Один из вариантов может быть:

data = ('Hello!', 1,)
sql = "UPDATE dbase SET observation = COALESCE(observation, '') || ? WHERE id = ?;"
c = conn.cursor()
c.execute(sql, data)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...