python中检测mysql的主键唯一性异常

Posted foreverlin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 = "[email protected]"
    nickname = "hahahaha"
    insert(email, nickname)

 

2.如上注释的代码,直接检测异常的字符串进行正则匹配,关于如何匹配该异常字符串可以找我上一篇随笔,python正则表达式的艰辛路

以上是关于python中检测mysql的主键唯一性异常的主要内容,如果未能解决你的问题,请参考以下文章

初学者必备:MySQL的主键,外键与唯一约束设置(点赞!!!)

初学者必备:MySQL的主键,外键与唯一约束设置(点赞!!!)

mysql的主键是自动增长的,oracle的主键是起啥作用的

如何获取mysql数据库中某个表的主键或唯一字段

MySQL简述 MySQL 的主键 PRIMARY KEY 和唯一键 UNIQUE INDEX

MySQL简述 MySQL 的主键 PRIMARY KEY 和唯一键 UNIQUE INDEX