python中檢測mysql的主鍵唯一性異常


有兩種方法:

1.直接檢測是什么異常(查mysql文檔找出異常代碼)

import os
import mysql_operate.mysql_connect as mysql
import re

def insert(user_email, nickname):
    cnx = mysql.connect()
    cur = cnx.cursor()
    # sql = "INSERT INTO users VALUES (%d, %d)"
    try:
        # print("正在嘗試......")
        cur.execute("INSERT INTO users VALUES(%r ,%r)" % (user_email, nickname))
        print("插入成功!")
        mysql.disnect(cnx)
        return 1

    except Exception as ER_DUP_ENTRY:
    #except Exception as e:
        # print("發生錯誤,錯誤信息為:", e)
        # mmm = '1062 (23000): Duplicate entry \'[\S]*\' for key \'PRIMARY\''
        # print(str(e))
        # print(mmm)
        #
        #
        #
        # if(re.search(mmm , str(e))):
        #     print("該用戶已注冊!")
        print("成功了")
        mysql.disnect(cnx)
        return 0

    mysql.disnect(cnx)
if __name__ == "__main__":
    email = "test_email1@qq.com"
    nickname = "hahahaha"
    insert(email, nickname)

 

2.如上注釋的代碼,直接檢測異常的字符串進行正則匹配,關於如何匹配該異常字符串可以找我上一篇隨筆,python正則表達式的艱辛路


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM