sqlite, если есть обновление еще вставить в python - PullRequest
0 голосов
/ 08 декабря 2018

Я пытаюсь обновить Count=Count+1, если src_ip уже существует, иначе вставить в таблицу.

Я смог сделать это с UPSERT успешно:

INSERT INTO result('min(_time)', src_ip) VALUES(?,?)ON CONFLICT(src_ip) DO UPDATE SET Count=Count+1;

Я ищу другой способ сделать это без использования UPSERT .Я пробовал это :

# Import csv to SQLite    
with open('result5.csv', 'r') as f:
    dr = csv.DictReader(f)
    for i in dr:
        c.execute("UPDATE result SET Count = Count + 1 WHERE src_ip = ?", (i['src_ip'],))
        if c.rowcount == 0:
            c.execute("INSERT INTO result ('min(_time)', src_ip, Count) VALUES (?,?,1)",
                      (i['min(_time)'], i['src_ip']))

Скрипт работает без ошибок.Но я не получаю желаемого результата.Это ничего не возвращает к сожалению.Я не уверен, что я делаю здесь неправильно, почему я не могу UPDATE или INSERT?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...