Здравствуйте, у меня возник вопрос как грамотно проверить наличие записи в таблице базы данных SQLite3
Можно сделать так:
def check_exist():
with sq.connect(database_path) as con:
cur = con.cursor()
my_id = 'любой id' # переменная хранящая id записи нужного пользователя
author_ids = [x[0] for x in cur.execute("select id from authors").fetchall()] # массив с id записей
if my_id in author_ids:
print('+')
else:
print('-')
Но если в таблице есть много записей то код будет тормозить
Можно ещё сделать так:
def check_exist():
try:
with sq.connect(database_path) as con:
cur = con.cursor()
my_id = 'любой id' # переменная хранящая id записи нужного пользователя
author_ids = cur.execute(f"select id from authors where id = '{my_id}'").fetchone()[0]
print('+')
except:
print('-')
В любом случае код неочень. Подскажите как сделать такую проверку правильно?