vollchara
@vollchara
Нубик

Как сделать запись значений в базу данных PostgreSQL?

В моём боте на discord.py была бд sqlite3 из за того, что хероку постоянно аннулирует бд после перезагрузки бота. Решил пересесть на postgresql. При попытке записать данные в таблицу, как я это делал на sqlite получал ошибки синтаксиса..либо ошибку, где данные воспринимались как название таблицы.
Это часть кода с использованием sqlite3.
for guild in client.guilds:
        for member in guild.members:
            if cursor.execute(f"SELECT id FROM users WHERE id = {member.id}").fetchone() is None:
                cursor.execute(f"INSERT INTO users VALUES (\"{member}\", {member.id}, 0, 0, 1)")
            else:
                pass

Это то, что я сделал уже с postgresql
for guild in client.guilds:
        for member in guild.members:
            cursor.execute(f"SELECT id FROM users WHERE id = {member.id}")
            if cursor.fetchone() is None:
                pass # Здесь должна быть запись member, member.id, cash(0), rep(0), lvl(1)
            else:
                pass

Как мне сделать запись?
  • Вопрос задан
  • 120 просмотров
Решения вопроса 1
@o5a
Синтаксис там похожий, переменные тоже можно передавать, только для подстановки используется '%s'
cursor.execute("INSERT INTO users VALUES (%s, %s, %s, %s, %s)", (member, member.id, 0, 0, 1))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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