Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Вопрос Sqlite3.OperationalError: near "ивый": syntax error

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
12 Июл 2020
Сообщения
66
Реакции
11
Всем привет.
Такая проблема, что дискорд бот перешёл из 1 сервера, в другой и конечно же надо удалить старую базу данных, когда запускаю бота, выбивает данное сообщение ничего не записывает.
Есть предположение, что sqlite не может записать русский ник, но раньше он записывал:/

512512152.png

Python:
Expand Collapse Copy
@client.event
async def on_ready():
    cursor.execute("""CREATE TABLE IF NOT EXISTS users (
        name TEXT,
        id INT,
        cash BIGINT,
        rep INT,
        lvl INT,
        server_id INT
    )""")

    cursor.execute("""CREATE TABLE IF NOT EXISTS shop (
        role_id INT,
        id INT,
        cost BIGINT
    )""")

    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}, 1000, 0, 1, {guild.id})")
            else:
                pass

    connection.commit()
 
Всем привет.
Такая проблема, что дискорд бот перешёл из 1 сервера, в другой и конечно же надо удалить старую базу данных, когда запускаю бота, выбивает данное сообщение ничего не записывает.
Есть предположение, что sqlite не может записать русский ник, но раньше он записывал:/

Посмотреть вложение 207048
Python:
Expand Collapse Copy
@client.event
async def on_ready():
    cursor.execute("""CREATE TABLE IF NOT EXISTS users (
        name TEXT,
        id INT,
        cash BIGINT,
        rep INT,
        lvl INT,
        server_id INT
    )""")

    cursor.execute("""CREATE TABLE IF NOT EXISTS shop (
        role_id INT,
        id INT,
        cost BIGINT
    )""")

    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}, 1000, 0, 1, {guild.id})")
            else:
                pass

    connection.commit()
Решение:
Expand Collapse Copy
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}, 1000, 0, 1, {guild.id})")
            else:
                pass
 
Назад
Сверху Снизу