#python #sqlite
#python #sqlite
Вопрос:
Я уже пробовал добавлять запятую после имени и вопросительный знак в «ЗНАЧЕНИЯХ» и получал синтаксическую ошибку для моего фрагмента.
@app.route("/Disease/new", methods = ["POST"])
def addDisease():
newDisease = {}
conn = None
try:
jsonPostData = request.get_json()
Name = jsonPostData["Name"]
conn = sqlite3.connect("./dbs/ContactTracer.db")
conn.row_factory = sqlite3.Row
sql = """
INSERT INTO Disease(Name) VALUES(?)
"""
cursor = conn.cursor()
cursor.execute(sql, (Name))
conn.commit()
sql = """
SELECT Disease.ID, Disease.Name
From Disease
Where Disease.ID = ?
"""
cursor.execute(sql,(cursor.lastrowid,))
row = cursor.fetchone()
newDisease["ID"] = row["ID"]
newDisease["Name"] = row["Name"]
except Error as e:
print(f"Error opening the database{e}")
abort(500)
finally:
if conn:
conn.close()
return newDisease
Ответ №1:
Удалите ()
и проверьте, удалось ли INSERT
выполнить
cursor.execute(sql, Name)
...
if cursor.lastrowid:
cursor.execute(sql, cursor.lastrowid)
Комментарии:
1. Добавьте трассировку стека, схему базы данных и т. Д. чтобы помочь определить проблему