Проблема с созданием базы данных в тг боте
Вот часть кода:
def db_table_val (user_id: int, username: str, priglasil_id):
conn = sqlite3.connect("database.db")
cursor = conn.cursor()
cursor.execute(f"select count(*) from apple where user_id = {user_id}")
if username != None:
if cursor.fetchone()[0] == 0:
cursor.execute('INSERT INTO apple (user_id, username, priglasil_id) VALUES (?,?,?)', (user_id, username, priglasil_id,))
conn.commit()
Вот ошибка:
in start_msg
db_table_val(user_id=us_id, username=username, priglasil_id = priglasil_id)
File "c:\Users\Татьяна\Desktop\fff\[f.ggdt.ru]casino-bot\apple_functions.py", line 22, in db_table_val
cursor.execute(f"select count(*) from apple where user_id = {user_id}")
sqlite3.OperationalError: no such table: apple
PS C:\Users\Татьяна\Desktop\fff>
А вот часть кода где показана первая ошибка:
@bot.message_handler(commands=['start'])
def start_msg(message):
conn = sqlite3.connect('database.db', check_same_thread=False)
cursor = conn.cursor()
us_id = message.from_user.id
username = message.from_user.username
if " " in message.text:
try:
priglasil_id = message.text.split()[1]
priglasil_id = int(priglasil_id)
if us_id != priglasil_id:
user = get_all_users(priglasil_id)
else:
priglasil_id = None
except:
priglasil_id = None
else:
priglasil_id = None
conn.close()
db_table_val(user_id=us_id, username=username, priglasil_id = priglasil_id)
Ответы (1 шт):
Автор решения: Oopss
→ Ссылка
sqlite3.OperationalError: no such table: apple
Нужно создать таблицу apple в базе данных database.db
Один раз запустить скрипт:
import sqlite3
with sqlite3.connect('database.db') as conn:
conn.execute(''' CREATE TABLE IF NOT EXISTS apple (
user_id INTEGER PRIMARY KEY,
username TEXT NOT NULL,
priglasil_id INTEGER
) ''')
в рабочем каталоге.