• Почему Python не видит таблицы sqlite?

    SoreMix
    @SoreMix
    yellow
    Значит и правда нет такой таблицы. Сделайте её создание в __init__ и всё

    import sqlite3
    
    class Database:
        def __init__(self, db_file):
            self.connection = sqlite3.connect(db_file)
            self.cursor = self.connection.cursor()
    
            with self.connection:
                self.cursor.execute('''
                   CREATE TABLE IF NOT EXISTS Users ( 
                        id INTEGER PRIMARY KEY NOT NULL, 
                        user_id INTEGER NOT NULL, 
                        nickname TEXT (60), 
                        time_sub NOT NULL DEFAULT (0), 
                        signup TEXT DEFAULT setnickname 
                    );
                ''')
    
        def add_user(self, id):
            with self.connection:
                self.cursor.execute("INSERT INTO `Users` (`id`) VALUES (?)", (id,))
                return self.cursor.execute
    
        def user_exists(self, id):
            with self.connection:
                result = self.cursor.execute("SELECT * FROM `Users` WHERE  `id` = ?", (id,)).fetchall()
                return bool(len(result))


    ps: придется пофиксить add_user т.к. он принимает только один параметр - ID, а у вас 3 NOT NULL параметра
    Ответ написан
    2 комментария