我想知道為什么一切似乎都很好,但我的 mysql 資料庫中沒有插入任何內容?我從 api 獲取一些資料,我想在表中插入資料。
使用燒瓶、python、pymysql
提前致謝
api = Flask(__name__)
def connect():
db = pymysql.connect(database='rtap',port=3306, host='127.0.0.1', user='root', password='',ssl_ca="{ca-cert filename}", ssl_disabled=True)
log.basicConfig(level=log.DEBUG, format='%(asctime)s %(levelname)s:\n%(message)s\n')
print("Connexion réussie")
return db
@api.route('/')
def base():
return jsonify({"version":"1.0"})
@api.route('/azure', methods=['GET'])
def read():
db = connect()
log.info('Reading Datas')
plane = "SELECT * FROM `plane`;"
cursor = db.cursor()
cursor.execute(plane)
output = cursor.fetchall()
return jsonify(output)
@api.route('/azure', methods=['POST'])
def write():
db = connect()
cursor = db.cursor()
req = request.json["response"]
# cursor.executemany("INSERT INTO `plane` (aircraft_icao, reg_number) VALUES (%s, %s);", req)
# print(req)
key = []
for i in req:
try:
if (key==[]) :
plane = "INSERT INTO `plane` (aircraft_icao, reg_number) VALUES ('{}', '{}')".format(i["aircraft_icao"], i["reg_number"])
key.append(i["reg_number"])
else:
if(i["reg_number"] not in key) : #si la key n'a pas encore été utilisée, on peut ecrire la requette, sinon on ne fait rien
plane = ", ('{}', '{}')".format(i["aircraft_icao"], i["reg_number"])
key.append(i["reg_number"])
except Exception as e:
print("failed")
# print(plane)
cursor.execute(plane)
return jsonify(req)
if __name__=='__main__':
api.run(debug=True, port=5000, host='0.0.0.0')
追溯
uj5u.com熱心網友回復:
假設該INSERT陳述句在該除錯功能上看起來不錯print,那么您可能需要在INSERT. 嘗試添加
db.commit()
cursor.close()
之后cursor.execute()。
uj5u.com熱心網友回復:
您需要通過執行提交您的表更改
db.commit()
緊接在每個 INSERT 或 INSERT 序列之后。讀這個。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/468615.html
