Python操作MySQL数据库,插入重复数据
- sql = "INSERT INTO test_c(id,name,sex)values(%s,%s,%s)"
 - param = (1,'AJ','MAN')
 - n = cursor.execute(sql,param)
 - db.commit()
 
sql = "INSERT INTO test_c(id,name,sex)values(%s,%s,%s)"
param = (1,'AJ','MAN')
n = cursor.execute(sql,param)
db.commit()
当我们使用普通的 “INSERT INTO" 插入数据,如果数据有重复就会有报错:
提示的是键值重复
- Traceback (most recent call last):
 - File "D:/python/tongbu_py/test.py", line 14, in <module>
 - n = cursor.execute(sql,param)
 - File "D:\Python27\lib\site-packages\MySQLdb\cursors.py", line 174, in execute
 - self.errorhandler(self, exc, value)
 - File "D:\Python27\lib\site-packages\MySQLdb\connections.py", line 36, in defaulterrorhandler
 - raise errorclass, errorvalue
 - _mysql_exceptions.IntegrityError: (1062, "Duplicate entry '1-AJ-MAN' for key 'PRIMARY'")
 
Traceback (most recent call last):
File "D:/python/tongbu_py/test.py", line 14, in <module>
n = cursor.execute(sql,param)
File "D:\Python27\lib\site-packages\MySQLdb\cursors.py", line 174, in execute
self.errorhandler(self, exc, value)
File "D:\Python27\lib\site-packages\MySQLdb\connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.IntegrityError: (1062, "Duplicate entry '1-AJ-MAN' for key 'PRIMARY'")
我们可以使用另外2个传入方法: ”INSERT IGNORE INTO 和 REPLACE INTO“:
INSERT IGNORE会忽略数据库中已经存在的数据,如果数据库没有数据,就插入新的数据,如果有数据的话就跳过这条数据。这样就可以保留数据库中已经存在数据,达到在间隙中插入数据的目的
REPLACE INTO 如果存在primary 或 unique相同的记录,则先删除掉。再插入新记录。
转自, 年数久远 ,未能找到作者,特此为原作者致谢
Python操作MySQL数据库,插入重复数据的更多相关文章
- python + docker, 实现天气数据 从FTP获取以及持久化(二)-- python操作MySQL数据库
		
前言 在这一节中,我们主要介绍如何使用python操作MySQL数据库. 准备 MySQL数据库使用的是上一节中的docker容器 “test-mysql”. Python 操作 MySQL 我们使用 ...
 - python操作mysql数据库的相关操作实例
		
python操作mysql数据库的相关操作实例 # -*- coding: utf-8 -*- #python operate mysql database import MySQLdb #数据库名称 ...
 - 使用python操作mysql数据库
		
这是我之前使用mysql时用到的一些库及开发的工具,这里记录下,也方便我查阅. python版本: 2.7.13 mysql版本: 5.5.36 几个python库 1.mysql-connector ...
 - python操作mysql数据库的常用方法使用详解
		
python操作mysql数据库 1.环境准备: Linux 安装mysql: apt-get install mysql-server 安装python-mysql模块:apt-get instal ...
 - python 操作mysql数据库之模拟购物系统登录及购物
		
python 操作mysql数据库之模拟购物系统登录及购物,功能包含普通用户.管理员登录,查看商品.购买商品.添加商品,用户充值等. mysql 数据库shop 表结构创建如下: create TAB ...
 - 【Python】使用python操作mysql数据库
		
这是我之前使用mysql时用到的一些库及开发的工具,这里记录下,也方便我查阅. python版本: 2.7.13 mysql版本: 5.5.36 几个python库 1.mysql-connector ...
 - 【转】python操作mysql数据库
		
python操作mysql数据库 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库 ...
 - Python操作MySQL数据库9个实用实例
		
用python连接mysql的时候,需要用的安装版本,源码版本容易有错误提示.下边是打包了32与64版本. MySQL-python-1.2.3.win32-py2.7.exe MySQL-pytho ...
 - python接口自动化(三十八)-python操作mysql数据库(详解)
		
简介 现在的招聘要求对QA人员的要求越来越高,测试的一些基础知识就不必说了,来说测试知识以外的,会不会一门或者多门开发与语言,能不能读懂代码,会不会Linux,会不会搭建测试系统,会不会常用的数据库, ...
 - Python操作MySQL数据库(步骤教程)
		
我们经常需要将大量数据保存起来以备后续使用,数据库是一个很好的解决方案.在众多数据库中,MySQL数据库算是入门比较简单.语法比较简单,同时也比较实用的一个.在这篇博客中,将以MySQL数据库为例,介 ...
 
随机推荐
- 使用idea上传项目初始化版本到coding
			
1.在coding创建项目 2.使用idea命令控制台初始化本地仓库 3.将代码提交到本地仓库,git add . 或者 git add <filename> 4.将本地仓库文件推送到co ...
 - PHP之即点即改
			
html: <td data-hide="1200" class="px12" id ="<?php echo $v['g_id'];?& ...
 - Django打印出在数据库中执行的语句
			
有时我们需要看models操作时对应的SQL语句, 可以用如下方法查看--- 在django project中的settings文件尾部添加如下代码 LOGGING = { 'version': 1, ...
 - SysTick 定时实验(非中断)
			
实验目的:利用 SysTick 产生 1s 的时基,LED 以 1s 的频率闪烁. 编程要点 1.设置重装载寄存器的值 2.清除当前数值寄存器的值 3.配置控制与状态寄存器 过程 我们创建了两个文件: ...
 - SAS学习笔记11 SAS宏
			
宏是一个被储存的文本,用一个名字识别它.最简单的宏就像一个宏变量一样工作,但复杂的宏可以完成许多宏变量不能做的事. 定义宏的语句格式为: %macro 宏名称: 宏文本 %mend <宏名称&g ...
 - Sparse PCA 稀疏主成分分析
			
Sparse PCA 稀疏主成分分析 2016-12-06 16:58:38 qilin2016 阅读数 15677 文章标签: 统计学习算法 更多 分类专栏: Machine Learning ...
 - (二)easyUI之消息提示框
			
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
 - Bat 批处理启动和停止Oracle 服务
			
实际情况 * 不想开机自启动oracle服务,因为Windows 没有固态硬盘本身启动就很慢了,然后也不想自己手动的方式去启东oracle 服务 解决方案 *1启动 ``` @echo off ech ...
 - Django admin 外键关联默认显示用户的username
			
使用默认User表.默认显示用户username,转换成get_full_name() /home/labsmith/venv_labsmit/lib/python3.6/site-packages/ ...
 - Async await 解析
			
Async 定义:使异步函数以同步函数的形式书写(Generator函数语法糖) 原理:将Generator函数和自动执行器spawn包装在一个函数里 形式:将Generator函数的*替换成asyn ...