问题描述
我需要创建一个排在前5名的排行榜的数据库,但是,我尝试执行的操作没有用-它带来了许多不同的错误(下面的代码):
import sqlite3
winner_name = input("Name: ")
winner_score = input("score: ")
db = sqlite3.connect('C:\Users\user\Desktop\WORK\CS\NEA\Python')
c = db.cursor()
c.execute("""CREATE TABLE leaderboard
(Place,text,Name,score,text)
""")
c.execute("""INSERT INTO leaderboard
VALUES ("1",winner_name,winner_score)""")
db.commit()
c.execute('SELECT * FROM leaderboard')
row = c.fetchone()
print(row)
db.close()
问题:
谢谢您的帮助。
解决方法
看看接下来的事情
-
sqlite3.connect应该收到数据库文件名,例如
example.db
(不是您所用的文件夹) -
创建的数据库有一个next syntax,在您的情况下,
Place
和text
之间不需要逗号:Place,next
(错误)->Place text
(正确) -
在插入表行时需要传递值(在您的情况下,您传递的是字符串):
c.execute(f"""INSERT INTO Leaderboard
VALUES ("1","{winner_name}",{winner_score})""")
(请注意为winner_name加上引号"
,因为db正在等待输入该值的文本)