简体   繁体   中英

View Function used to work now it does not

import sqlite3

def create_table():
    connection = sqlite3.connect('lite.db')
    cursor = connection.cursor()
    cursor.execute('CREATE TABLE IF NOT EXISTS shop (item TEXT, quantity INTEGER, price REAL)') #you write the SQL code in between brackets
    connection.commit()
    connection.close()


create_table()

def insert(item,quantity,price):
    connection = sqlite3.connect('lite.db')
    cursor = connection.cursor()
    cursor.execute("INSERT INTO shop VALUES (?,?,?)", (item,quantity,price))  # inserting data
    connection.commit()
    connection.close()

insert('Wine Glass', 10, 5)
insert('Coffe Cup', 5, 2)
insert('Plate', 20, 10)

def view():
    connection = sqlite3.connect('lite.db')
    cursor = connection.cursor()
    cursor.execute('SELECT ALL FROM shop ')
    rows = cursor.fetchall()
    connection.close()
    return rows

def delete_item(item):
    connection = sqlite3.connect('lite.db')
    cursor = connection.cursor()
    cursor.execute("DELETE * FROM shop WHERE item = ?", (item,))  # inserting data
    connection.commit()
    connection.close()

print(view())
delete_item('Wine Glass')
print(view())

Error Message:

cursor.execute('SELECT ALL FROM shop ')
sqlite3.OperationalError: near "FROM": syntax error

It used to work and then I added the delete function and now it gives me this syntax error, I didn't even make any changes on that function. The code is based on a Udemy tutorial, and with the same changes applied on the video I got this error message but the tutor did not. As you can guess I am pretty new to this stuff and I cant decipher the error message, or at least if it means any more than the obvious. So yeah thanks in advance

SELECT ALL should be SELECT ALL * or just SELECT * to select all columns in all rows. See the syntax here .

DELETE * FROM shop should be DELETE FROM shop . DELETE deletes whole rows, it doesn't need a list of columns. See the syntax here .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM