#python #python-3.x #database #list #sqlite
#питон #python-3.x #База данных #Список #sqlite
Вопрос:
Я пытаюсь скопировать видео о том, как использовать базы данных, и это точный код из видео:
import sqlite3 conn = sqlite3.connect(":memory:") c = conn.cursor() c.execute("CREATE TABLE books (title TEXT, pages INTEGER)") books = [ ("Are You My Mother?", 72), ("The Digging-est Dog", 72), ("The Giving Tree", 66) ] c.executemany("INSERT INTO books VALUES(?,?)", books) conn.commit() data = c.fetchall() print(data)
Тем не менее, всякий раз, когда я выполняю код, я получаю следующий результат:
[ ]
Если бы кто-нибудь мог, пожалуйста, помочь мне и выяснить, почему это не работает, я был бы очень благодарен. Спасибо.
Комментарии:
1.
c.fetchall()
получает результат из предыдущего запроса, который представляет собойINSERT
инструкцию, которая не возвращает результат. Вы пробовали запустить aSELECT * FROM books
послеINSERT
и посмотреть, что это даст?
Ответ №1:
Решение этой проблемы заключается в том, чтобы убедиться, что вы используете команду после добавления книг в базу данных:
c.execute("SELECT * FROM books") # Then here add the output data = c.fetchall() print(data)
Надеюсь, это поможет!!!