При существовании столбца заполнить его, а не создавать новый

Рейтинг: 0Ответов: 0Опубликовано: 22.01.2023

У меня есть кусок кода. Как сделать чтобы Postgres заполнял столбец, а не создавал столбеу с таким же названием и пытался заполнить его? (Пишу бота на aiogram)

    fn = message.reply_to_message.from_user.first_name
    ui = message.reply_to_message.from_user.id
    try:
        cursor = conn.cursor()
        cursor.execute(f"""ALTER TABLE rewards ADD COLUMN {fn}_{ui} text""")
        conn.commit()
        if f'{fn}_{ui}' in 'rewards':
            try:
                 cursor.execute(f'SELECT {fn}_{ui} FROM rewards WHERE {fn}_{ui} = \'{nag}\';')
                 conn.commit()
                 cursor.execute(f'INSERT INTO rewards({fn}_{ui}) VALUES (\'{nag}\');')
                 conn.commit()
            except Exception as e:
                 print(f'e')
                 return
        cursor.execute(f'SELECT {fn}_{ui} FROM rewards WHERE {fn}_{ui} = \'{nag}\';')
        conn.commit()
        cursor.execute(f'INSERT INTO rewards({fn}_{ui}) VALUES (\'{nag}\');')
        conn.commit()
    except Exception as e:
                 print(e)

Ответы

Ответов пока нет.