@pt3n4ik_3

Sqlite3.OperationalError: no such table: users?

import telebot
import sqlite3
from telebot import types
import random

bot = telebot.TeleBot()

@bot.message_handler(commands=['reg'])
def start(message):
	connect = sqlite3.connect('ddlcusers.db')
	cursor = connect.cursor()

	cursor.execute('''CREATE TABLE IF NOT EXISTS login_id (
		id INTEGER,
		cash INT
	)''')

	connect.commit()

	#id
	usersid = message.from_user.id
	checkid = message.from_user.id

	cursor.execute(f'SELECT id FROM login_id WHERE id = {checkid}')
	if cursor.fetchone() is None:
		cursor.execute(f'INSERT INTO users VALUES (?, ?)', (usersid, 0))
		connect.commit()
		bot.send_message(message.from_user.id, "Вы успешно были добавлены в базу данных.")
	else:
		bot.send_message(message.from_user.id, 'Такой пользователь уже есть в базе данных бота.')
		bot.send_sticker(message.from_user.id, 'CAACAgIAAxkBAAECln1g8aeuFxR5g0bpgKlsQcrwHggrRAAC-BIAAkXUMEvqmAABi9b6IkogBA')


#delete user bd
@bot.message_handler(commands=['delete'])
def delete(message):
	bot.send_message(message.from_user.id, 'Ваш айди с базы данных был успешно удалён.')
	connect = sqlite3.connect('ddlcusers.db')
	cursor = connect.cursor()

	#delete id
	people_id = message.from_user.id
	cursor.execute(f'DELETE FROM login_id WHERE id = {people_id}')
	connect.commit()

@bot.message_handler(commands=['menu'])
def menu(message):
	markup = types.ReplyKeyboardMarkup(resize_keyboard = True)
	item1 = types.KeyboardButton('Рандомное число')
	item2 = types.KeyboardButton('Добавить деньги')

	markup.add(item1)

	bot.send_message(message.from_user.id, f'Привет!', reply_markup = markup)


@bot.message_handler(content_types=['text'])
def bot_message(message):
	if message.chat.type == 'private':
		if message.text == "Рандомное число":
			bot.send_message(message.chat.id, "Ваше чилсо: " + str(random.randint(0, 1000)))
		#elif message.text == "Добавить деньги":










bot.polling()


Это тот самый код, у меня выбивает две ошибки, в bot polling, и cursor.execute(f'INSERT INTO users VALUES (?, ?)', (id, 0))
sqlite3.OperationalError: no such table: users, я уже не знаю что делать, прошу вас хоть как-то просветить меня, потому что я в отчаянии. Я искал как исправить ошибки, но ничего не нашёл.
  • Вопрос задан
  • 65 просмотров
Решения вопроса 1
@Vindicar
Засунь текст ошибки в гугл-транслейт, что ли...
Он тебе английским по белому говорит, что таблица users не создана. Как mr_forlife объяснил, нужно создать таблицу через запрос вида CREATE TABLE. Ты создаёшь только login_id, но не users.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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