无法使用 python 将任何数据插入数据库

Unable to insert any data to the database using python

import sqlite3

def create_a_new_table():
    Myschool = sqlite3.connect('normal database for experiment purpose.db')
    curschool = Myschool.cursor()
    curschool.execute("""
                           CREATE TABLE new_Basic_Player_Info
                           (
                              Ranking INTEGER,
                              Player_name TEXT,

                              Country TEXT,
                              Speciality TEXT,
                              Value INTEGER,
                              Cost INTEGER
                            );
                      """)
    Myschool.close()


def insert_data():
    Myschool = sqlite3.connect('normal database for experiment for purpose.db')
    curschool = Myschool.cursor()
   # nm = input("Enter the name of the player: ")
    sql = """INSERT INTO TABLE new_Basic_Player_Info(Ranking, Player_name) 
        VALUES(%s, %s);"""

可能是 %s,问题是 %s。 或者,sql 命名字符串应该以分号 (;) 未执行的主要代码

try:
    curschool.execute(sql, (1, "aNIKET GHOSH"))
    Myschool.commit()
    Myschool.close()

except:
    Myschool.rollback()

甚至我也使用过 try 和 except 关键字。

create_a_new_table()
insert_data()

我测试了你的代码。我发现了三个问题。

一个问题是您使用了两个不同的 sqlite 文件(第一个文件中缺少 "for")。一个好技巧是始终考虑 DRY(不要重复自己)。

您的插入语句有两个问题:

  1. INSERT INTO TABLE ... 而正确的语法是 INSERT INTO ...

  2. 您使用的是 %s 而不是正确的语法 ?

即替换

sql = """INSERT INTO TABLE new_Basic_Player_Info(Ranking, Player_name) VALUES(%s, %s);"""

sql = """INSERT INTO new_Basic_Player_Info(Ranking, Player_name) VALUES(?, ?);"""

你会再次走上正轨。