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的主键是起啥作用的