Sql запрос UPDATE, что делать?

async def adm(self, user):
        async with self.pool.acquire() as conn:
            async with conn.cursor() as cur:
                result = await cur.execute("SELECT admin FROM profile WHERE uid=%s", user.id)
                row = await cur.fetchall()
                if result == 1:
                    await cur.execute("UPDATE profile SET admin=Хелпер WHERE uid=%s", user.id)
                    await conn.commit()
                    for adm in row[0]:
                        return adm


Ошибка:
raise CommandInvokeError(exc) from exc
vk_botting.exceptions.CommandInvokeError: Command raised an exception: OperationalError: (1054, "Unknown column 'Хелпер' in 'field list'")
  • Вопрос задан
  • 124 просмотра
Решения вопроса 1
shurshur
@shurshur
Сисадмин, просто сисадмин...
SET admin=Хелпер означает, что полю admin надо присвоить то же значение, что и у поля Хелпер. Но у нас нет в таблице никакого Хелпер.

Чтобы присвоить значение не по имени столбца, а конкретное значение, его надо обернуть в одинарные кавычки:

UPDATE profile SET admin='Хелпер' WHERE ...

Вообще, советую почитать элементарные основы SQL, тогда таких вопросов возникать не будет.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы