sqlite3.OperationalError: нет такой таблицы: store - PullRequest
0 голосов
/ 11 сентября 2018

Я изучаю sqlite3 с python, но я сталкиваюсь с этой ошибкой: "sqlite3.OperationalError: нет такой таблицы: хранилище".Как мне обойти это?

import sqlite3

def create_table(): #function to create the table
    conn = sqlite3.connect('lite.db')
    cur = conn.cursor() # creating th cursor object
    cur.execute("CREATE TABLE IF NOT EXISTS store (item TEXT, quantity INTEGER, price REAL)")
    conn.commit()
    conn.close()



def insert(item, quantity, price ): #function to insert into the table
    conn = sqlite3.connect('lite.db')
    cur = conn.cursor() # creating th cursor object
    cur.execute("INSERT INTO store VALUES(?,?,?)", (item, quantity, price))
    conn.commit()
    conn.close()

insert("biscuits",500,20000)


def view():
    conn = sqlite3.connect('lite.db')
    cur = conn.cursor()
    cur.execute("SELECT * FROM store")
    rows = cur.fetchall()
    return rows
    conn.close()

print(view())

1 Ответ

0 голосов
/ 11 сентября 2018

Вы забыли вызвать метод create_table перед вызовом insert. Поскольку вы не вызвали метод create_table, метод insert пытается вставить запись в несуществующую таблицу.

Решение состоит в том, чтобы просто вызвать метод create_table перед insert следующим образом:

create_table()    # Add this line before the insert
insert("biscuits", 500, 20000)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...