[Python] pymysql.err.IntegrityError 解決

通常遇到這狀況代表有設定unique的欄位, 被重複了,
而且要新增的一筆資料又與該欄位有重複的值,則會報錯,

假設我的欄位id已經有202204150012的資料時, 要再增加一筆id是202204150012的資料, 錯誤訊息如下, 會告知是哪個欄位重複與重複的value

(pymysql.err.IntegrityError) (1062, "Duplicate entry '202204150012' for key 'tb_order.id'")

解決方式1:
將該欄位的unique拿掉

解決方式2:
做異常處理與回滾(rollback)

try:
    db.commit()
except:
    # 回滾
    db.rollback()
finally:
# 關閉數據庫連接
db.close()
解決方式3:例外處理時跳過
try:
    .... 
except IntegrityError as error:
    # 獨立處理重複
    result1 = re.search('Duplicate entry', str(error))
    if result1:
        logger.error('Duplicate entry')
        pass
except Exception as error:
    # 其他例外處理 ...