Python3 操作 MySQL 插入一条数据并返回主键 id的实例


Posted in Python onMarch 02, 2020

Python 中貌似并没有直接返回插入数据 id 的操作(反正我是没找到),但是我们可以变通一下,找到最新插入的数据

#!/usr/bin/env python3
# -*- coding: UTF-8 -*- 

import pymysql 

db = pymysql.connect(**db_conf)
cursor = db.cursor()
cursor.execute(sql)

# 最后插入行的主键id
print(cursor.lastrowid)

# 最新插入行的主键id
print(conn.insert_id())

conn.commit()

使用 cursor.lastrowid 和 conn.insert_id() 时一定要在 conn.commit() 之前

由于数据库的安全机制决定,其中一个进程执行完成一条语句时,此时只有这个进程能看到数据。如果想要其他的进程也能看到数据,就需要使用 conn.commit() 提交,这样就保证了多进程同时操作数据库而不会冲突

但是多线程并发插入的时候就不行了,因为多线程是共享数据的,而且在 Python 中并没有所谓的真正多线程,建议使用多进程

补充拓展:mysql中插入一条数据后得到插入后的主键id值

 ** 当我们涉及多表进行插入操作是,常常需要在程序中等到刚刚插入数据的主键Id,
便与进行多表关联 **

那么便需要在*Mapper.xml的insert方法前插入以下代码即可:

<selectKey resultType="java.lang.Long" order="AFTER" keyProperty="id">
 SELECT LAST_INSERT_ID() AS id
 </selectKey>

以上这篇Python3 操作 MySQL 插入一条数据并返回主键 id的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的Django框架中模板碎片缓存简介
Jul 24 Python
Python使用BeautifulSoup库解析HTML基本使用教程
Mar 31 Python
python验证码识别的实例详解
Sep 09 Python
深入理解Django的自定义过滤器
Oct 17 Python
Tensorflow之构建自己的图片数据集TFrecords的方法
Feb 07 Python
python用pandas数据加载、存储与文件格式的实例
Dec 07 Python
在matplotlib的图中设置中文标签的方法
Dec 13 Python
python pillow模块使用方法详解
Aug 30 Python
python实现通过队列完成进程间的多任务功能示例
Oct 28 Python
Pytorch中.new()的作用详解
Feb 18 Python
Python计算指定日期是今年的第几天(三种方法)
Mar 26 Python
python利用appium实现手机APP自动化的示例
Jan 26 Python
Python 调用有道翻译接口实现翻译
Mar 02 #Python
Python selenium抓取虎牙短视频代码实例
Mar 02 #Python
Python抓包程序mitmproxy安装和使用过程图解
Mar 02 #Python
python mysql 字段与关键字冲突的解决方式
Mar 02 #Python
python3实现往mysql中插入datetime类型的数据
Mar 02 #Python
python3将变量写入SQL语句的实现方式
Mar 02 #Python
Python *args和**kwargs用法实例解析
Mar 02 #Python
You might like
Php header()函数语法及使用代码
2013/11/04 PHP
php正则匹配文章中的远程图片地址并下载图片至本地
2015/09/29 PHP
php微信公众号开发之微信企业付款给个人
2018/10/04 PHP
PHP使用反向Ajax技术实现在线客服系统详解
2019/07/01 PHP
QQ邮箱的一个文本编辑器代码
2007/03/14 Javascript
JS简单实现仿百度控制台输出信息效果
2016/09/04 Javascript
AngularJS Select(选择框)使用详解
2017/01/18 Javascript
vue移动端下拉刷新和上拉加载的实现代码
2018/09/08 Javascript
通过说明与示例了解js五种设计模式
2019/06/17 Javascript
详解Vue之事件处理
2020/07/10 Javascript
Vue中使用Echarts仪表盘展示实时数据的实现
2020/11/01 Javascript
SQLite3中文编码 Python的实现
2017/01/11 Python
python数据类型_元组、字典常用操作方法(介绍)
2017/05/30 Python
Python3.6实现连接mysql或mariadb的方法分析
2018/05/18 Python
对numpy中二进制格式的数据存储与读取方法详解
2018/11/01 Python
python脚本之一键移动自定格式文件方法实例
2019/09/02 Python
Python 实现opencv所使用的图片格式与 base64 转换
2020/01/09 Python
python3 Scrapy爬虫框架ip代理配置的方法
2020/01/17 Python
pytorch读取图像数据转成opencv格式实例
2020/06/02 Python
Python依赖包迁移到断网环境操作
2020/07/13 Python
域名注册、建站工具、网页主机、SSL证书:Dynadot
2017/01/06 全球购物
JOSEPH官网:英国奢侈时尚品牌
2018/01/31 全球购物
全球500多个机场的接送服务:Suntransfers
2019/06/03 全球购物
军训考核自我鉴定
2014/02/13 职场文书
酒店值班经理的工作职责范本
2014/02/18 职场文书
《凡卡》教学反思
2014/04/09 职场文书
食堂标语大全
2014/06/11 职场文书
会计系毕业求职信
2014/08/07 职场文书
组织生活会表态发言材料
2014/10/17 职场文书
2015医院个人工作总结范文
2015/05/21 职场文书
2016年学校党支部创先争优活动总结
2016/04/05 职场文书
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
2021/05/17 Python
vue实现锚点定位功能
2021/06/29 Vue.js
基于Go语言构建RESTful API服务
2021/07/25 Golang
MySQL连接控制插件介绍
2021/09/25 MySQL
SpringBoot详解自定义Stater的应用
2022/07/15 Java/Android