![](/img/trans.png)
[英]unable to insert data that are stored in variables in to an MYSQL database table using 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是問題。 否則,名為string的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(?, ?);"""
您將再次步入正軌。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.