старое значение?
sql = "UPDATE users SET data = %s WHERE data = %s"
row = {'user_id': 1}
old_row = {'user_id': 2}
values = (json.dumps(row, ensure_ascii=False), json.dumps(old_row, ensure_ascii=False))
cur.execute(sql, values)
cur.close()
Понимаю, что лучше хранить айдишку, но что если без?
а вдруг вы можете, но рядом сидит кто-то, кто обратно меняет? 👀
print(update_user({'user_id': 11})) return update_("users", data) File "C:\Users\soft\Documents\Projects\database\m.py", line 157, in update_ cur.execute(sql, values) psycopg2.errors.UndefinedFunction: ОШИБКА: оператор не существует: json = unknown LINE 1: ...r_id": 11, "first_start": 1686311638}' WHERE data = '{"user_... ^ HINT: Оператор с данными именем и типами аргументов не найден. Возможно, вам следует добавить явные приведения типов.
Обсуждают сегодня