я пытаюсь найти способ предотвратить повторный вход в таблицу SQL через Python - PullRequest
0 голосов
/ 17 мая 2018

Я пытаюсь найти способ предотвратить повторный вход в таблицу SQL через Python. есть идеи как?

input_bp_description = input("please enter category")

sql_scripts = "INSERT INTO bp(systolic, diastolic, description) values(?,?,?)"
data = [input_bp_systolic, input_bp_diastolic, input_bp_description ]
(SELECT systolic FROM bp WHERE input_bp_systolic);
#ideally there should be a check here to prevent the enry of the same systolic!
cur.execute(sql_scripts, data)
con.commit()

1 Ответ

0 голосов
/ 17 мая 2018

Установить уникальное ограничение в базе данных. Это предотвратит сохранение дубликата.

CREATE UNIQUE INDEX your_unique_index ON bp(systolic);

Обернуть вызовы базы данных в try...except.

try:
    cur.execute(sql_scripts, data)
    con.commit()
except sqlite3.Error as e:
    print('Could not save', str(e))

Вы можете расширить предложение except, чтобы по-разному обрабатывать различные сообщения об ошибках, которые вы можете получить.

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