При существовании столбца заполнить его, а не создавать новый
У меня есть кусок кода. Как сделать чтобы 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)
Источник: Stack Overflow на русском