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()
发布于 2018-06-24 06:32:11
我测试了你的代码。我发现了三个问题。
一个问题是,您正在使用两个不同的sqlite文件(第一个文件中缺少"for“)。一个很好的技巧是始终考虑DRY (不要重复自己)。
insert语句有两个问题:
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(?, ?);"""
你就会重回正轨。
https://stackoverflow.com/questions/51004938
复制相似问题