Как взять из БД sqlite3 взять значение, выполнить действие, потом взять следующее значение - действие и т.д
Подскажите как взять из БД созданной с помощью sqlite3 значение id пользователя и соответствующее ему значение api токена, далее проделать определенную операцию, потом взять следующее значение
Для примера:
id | api
121212 | xyz
131313. | zyx
в БД есть столбец id и api
Код который использовал ранее, но здесь лишнее chat_id, оно не нужно для кода который хочу сейчас:
user_id = sqlite3.connect('id_plus_api.db')
cursor = user_id.cursor()
chat_id = message.chat.id
exists = cursor.execute(f"SELECT id FROM id_api WHERE id = ?", [chat_id]).fetchone()
Нужно примерно следующее:
try:
users_id = sqlite3.connect('id_plus_api.db')
cursor = users_id.cursor()
user_id = cursor.execute('''SELECT id FROM id_api #сначала взять первый id
user_api = custom.executr('''SELECT api FROM id_api #сначала взять первый api
def api_zapros(user_id, user_api):
parameters ={
'key' : str(api)
}
r.requests(url, params=parameters).json()
bot.send_message(#отправить пользователю по id данные r)
api_zapros (user_id, user_api)
time.sleep(60) # перед повторным запросом подождать минуту, а далее взять вторую строку со вторым значением id и api и повторить цикл и т.д. пока не переберем все строки в БД
except:
pass
Ответы (1 шт):
Автор решения: Alex Titov
→ Ссылка
Подсказка от @Виктор уже есть, ну напишу чуть подробнее:
cursor.execute('SELECT id, api FROM id_api')
for user_id, user_api in cursor.fetchall():
api_zapros(user_id, user_api)
time.sleep(60)