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()
答案 0 :(得分:1)
我测试了您的代码。我发现了三个问题。
一个问题是您正在使用两个不同的sqlite文件(在第一个文件中缺少“ for”)。一个好技巧是始终考虑DRY(不要重复自己)。
您的插入语句有两个问题:
INSERT INTO TABLE ...
,而正确的语法是INSERT INTO ...
您使用的是%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(?, ?);"""
您将再次步入正轨。