在執(zhí)行如下 python 代碼時,遇到了錯誤“err: + sql”:
def excute_sql_db(stratagy_id, city_id, app_name, total_price, over_flow_price, date_time): sql = "insert into over_flow_price(straragy_id,city_id,app_name,total_price,over_flow_price,time_stamp)values('%s','%s','%s','%s','%s','%s')" % ( stratagy_id, city_id, app_name, total_price, over_flow_price, date_time) try: mycursor.execute(sql) print('插入成功') except exception as e: print('err: ' + sql) print(e)
解決方案:
引發(fā)此錯誤的原因是,在 sql 語句的字符串格式化過程中,將 sql 字符串和錯誤信息進行拼接,而不是將錯誤信息作為異常信息報告。正確的方法是,將錯誤信息作為異常拋出,而不是打印在控制臺上。
立即學(xué)習(xí)“Python免費學(xué)習(xí)筆記(深入)”;
修正過的代碼如下:
def excute_sql_db(stratagy_id, city_id, app_name, total_price, over_flow_price, date_time): sql = "INSERT INTO over_flow_price(straragy_id,city_id,app_name,total_price,over_flow_price,time_stamp)VALUES('%s','%s','%s','%s','%s','%s')" % ( stratagy_id, city_id, app_name, total_price, over_flow_price, date_time) try: mycursor.execute(sql) print('插入成功') except Exception as e: raise Exception('err: ' + sql)
修正后的代碼將異常信息作為異常拋出,而不是打印在控制臺上,從而正確處理錯誤。
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END