无法使用 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(不要重复自己)。
您的插入语句有两个问题:
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(?, ?);"""
你会再次走上正轨。
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(不要重复自己)。
您的插入语句有两个问题:
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(?, ?);"""
你会再次走上正轨。