@ailshko
учу питон

Не могу запустить пишет Error no such table: users?

я только обучаюсь программированию, буду рад если поможете

import sqlite3

try:
conn = sqlite3.connect('teor.db')
cursor = conn.cursor()

#создаем пользователя с user_id = 1000
cursor.execute("INSERT OR IGNORE INTO 'users' ('user_id') VALUES(?)", (1000,))

#считываем всех пользователей
users = cursor.execute("SELECT * FROM 'users'")
print(users.fetchall())

#подтверждаем изменения
conn.commit()

except sqlite3.Error as error:
print('Error', error)

finally:
if(conn):
conn.close()

таблицы в sqlite
63c7eda2b187d738138285.png
63c7edcc0f0c4501090134.png
  • Вопрос задан
  • 54 просмотра
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
sqlite3.connect('teor.db')
Ты уверен, что питоновский скрипт и клиент sqlite открывают один и тот же файл с базой данных?
Ты указал относительный путь, т.е. путь относительно текущего рабочего каталога. Он может совпадать или не совпадать с каталогом, где лежит скрипт.
На всякий случай, попробуй так:
import pathlib, sys
script_dir = pathlib.Path(sys.argv[0]).parent.resolve()  # путь к каталогу скрипта
db_file = script_dir / 'teor.db'  # путь к файлу БД
print(db_file)  # для проверки, какой файл открывается
conn = sqlite3.connect(db_file)
...  # далее по тексту


Также, попробуй убрать одинарные кавычки вокруг имени таблицы и столбцов. Они обычно нужны, если имя содержит пробелы. В твоём случае только усложняют чтение запроса.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы