繁体   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