Как мне проверить, была ли вставка успешна с MySQLdb в Python?

У меня есть этот код:

cursor = conn.cursor()
cursor.execute(("insert into new_files (videos_id, filename, "
                "is_processing) values (%s,%s,1)"), (id, filename))
logging.warn("%d", cursor.rowcount)
if (cursor.rowcount == 1):
    logging.info("inserted values %d, %s", id, filename)
else:
    logging.warn("failed to insert values %d, %s", id, filename)
cursor.close()

Забавно, cursor.rowcount всегда один, даже хотя я обновил свою базу данных, чтобы сделать videos_id уникальным ключом, то есть вставить не удалось, потому что в моих тестах будет отображаться тот же videos_id (и когда я проверяю базу данных, ничего не было вставлено). Но по какой-то причине rowcount всегда равен 1 - даже logging.warn у меня выдает rowcount из 1.

Итак, вопрос :
Могу ли я использовать rowcount , чтобы определить, прошла ли вставка нормально? Если да, то что я (предположительно) делаю не так? в противном случае, как мне проверить, прошла ли вставка нормально?

13
задан Martin Thoma 14 May 2014 в 08:46
поделиться