Задать вопрос

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'")
  • Вопрос задан
  • 126 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
shurshur
@shurshur
Сисадмин, просто сисадмин...
SET admin=Хелпер означает, что полю admin надо присвоить то же значение, что и у поля Хелпер. Но у нас нет в таблице никакого Хелпер.

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

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

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

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

Похожие вопросы