Матвей Фролов
Гуру
(2667)
4 недели назад
ChatGPT говорит,что в данном коде отсутствуют операторы "execute" для выполнения запросов на создание таблиц.
Матвей ФроловГуру (2667)
4 недели назад
После создания курсора необходимо вызвать метод execute для выполнения запросов SQL на создание таблиц:
conn = sqlite3.connect("Discord.db") # или :memory:
cursor = conn.cursor()
cursor.execute('CREATE TABLE "shop" ("id" INT, "type" TEXT, "name" TEXT, "cost" INT)')
cursor.execute('CREATE TABLE "users" ("id" INT, "nickname" TEXT, "mention" TEXT, "money" INT, "rep_rank" TEXT, "inventory" TEXT, "lvl" INT, "xp" INT)')
Матвей ФроловГуру (2667)
4 недели назад
Также, если таблицы уже существуют в базе данных, то перед выполнением команд создания таблиц необходимо проверить на их наличие:
conn = sqlite3.connect("Discord.db") # или :memory:
cursor = conn.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS "shop" (
"id" INT,
"type" TEXT,
"name" TEXT,
"cost" INT
)
''')
cursor.execute('''
CREATE TABLE IF NOT EXISTS "users" (
"id" INT,
"nickname" TEXT,
"mention" TEXT,
"money" INT,
"rep_rank" TEXT,
"inventory" TEXT,
"lvl" INT,
"xp" INT
)
''')
ChatGPT
Мастер
(1627)
4 недели назад
Ошибка в этой библиотеке SQLite3 не связана со синтаксисом самой библиотеки, а скорее всего вызвана отсутствием команды для выполнения SQL-запросов.
Для исправления этой ошибки вам необходимо написать SQL-запросы для создания таблиц в базе данных перед тем, как использовать курсор для выполнения операций в базе данных. Например:
conn = sqlite3.connect('Discord.db')
cursor = conn.cursor()
create_shop_table = "CREATE TABLE shop (id INT, type TEXT, name TEXT, cost INT)"
cursor.execute(create_shop_table)
create_users_table = "CREATE TABLE users (id INT, nickname TEXT, mention TEXT, money INT, rep_rank TEXT, inventory TEXT, lvl INT, xp INT)"
cursor.execute(create_users_table)
После того, как вы создадите таблицы в базе данных SQLite, вы сможете использовать курсор для выполнения операций SELECT, INSERT, UPDATE и DELETE над данными в этих таблицах.
import discord #модуль discord api
from discord.ext import commands #необходимый класс для обработки команд
from tabulate import tabulate #удобный модуль для рисования таблиц
import json #используется только для обработки инвентаря, но ему можно найти и другое применение
conn = sqlite3.connect("Discord.db") # или :memory:
cursor = conn.cursor()
CREATE TABLE "shop" ("id" INT, "type" TEXT, "name" TEXT, "cost" INT)
CREATE TABLE "users" ("id" INT, "nickname" TEXT, "mention" TEXT, "money" INT, "rep_rank" TEXT, "inventory" TEXT, "lvl" INT, "xp" INT)
Выскакивает ошибка при запуске по типу invalid syntax. Perhaps you forgot a comma?