Я настраиваю базу данных с двумя полями, user_id и count, и я хочу иметь возможность вставить эту пару значений или счетчик приращений на 1, если запись с тем же user_id уже есть в таблице.
Я уже перепробовал много решений, например, INSERT INTO ... ON DUPLICATE KEY UPDATE ..., но они не работают для меня. Выдает ошибку, которая говорит:
sqlite3.OperationalError: near "ON": syntax error
Я использую SQLite 3.21.0 на Python 3.7.
У меня есть такой код:
def add_warning(id):
sql = f"""INSERT INTO warnings (user_id, count) VALUES({id}, 1) ON CONFLICT(user_id) DO UPDATE SET count=count+1"""
cursor.execute(sql)
Iожидайте обновления значения счетчика при выполнении запроса, но он выдает ошибку, когда я пытаюсь это сделать.