Как удалить запись после ее запроса с MySQL?

 @tasks.loop(seconds = 10.0 )#интервал между сообщениями. Можно указывать как час (hours = 1.0), так и минуты
async def auto_send():
    try:  
        cnx = mysql.connector.connect(
        host="localhost",
        port=3306,
        user="root",
        database = 'diss',# название БД
        password="")# Если пароль есть, то нужно указывать   
        cur = cnx.cursor() 
        cur.execute("select price from shop ORDER BY RAND()") #Вместо price пишите столбец который вам нужен
        result = cur.fetchone()
        for x in result: 
            print(x); 
    except: 
        cnx.rollback() 
    cnx.close() 
    channel = await bot.fetch_channel('id комнаты') 
    await channel.send(f'Ваш код:{ result[0]}',)#Можете изменить текс (Ваш код) и бот будет присылать именно это.
auto_send.start()
bot.run(TOKEN)

У меня есть код который запрашивает и принимает значение из БД. Как сделать так, чтоб после запроса эта запись удалялась из БД?


Ответы (1 шт):

Автор решения: Andrew

Сначала получаешь id запись а потом через fetch пропускаешь и делаешь запрос на удаление по id

$id = 1;    
$userID = $db->query("SELECT * FROM users WHERE id = ?i ", $id);
$fetch = $db->fetch($userID);
$del = $db->query("DELETE FROM users WHERE id = ?i", $fetch['id']);
→ Ссылка