簡體   English   中英

查看Function 以前可以用現在不行了

[英]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())

錯誤信息:

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

它曾經有效,然后我添加了刪除 function,現在它給了我這個語法錯誤,我什至沒有對該 function 進行任何更改。該代碼基於 Udemy 教程,並且對視頻應用了相同的更改我收到此錯誤消息,但導師沒有。 正如您所猜到的,我對這些東西很陌生,我無法破譯錯誤消息,或者至少如果它的含義不那么明顯的話。 所以是的,提前謝謝

SELECT ALL應該是SELECT ALL *或者只是SELECT *到 select 所有行中的所有列。 請參閱此處的語法。

DELETE * FROM shop應該是DELETE FROM shop DELETE刪除整行,不需要列列表。 請參閱此處的語法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM