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中的序列化存储的方法
Apr 28 Python
Python随机生成信用卡卡号的实现方法
May 14 Python
教你使用python实现微信每天给女朋友说晚安
Mar 23 Python
关于python列表增加元素的三种操作方法
Aug 22 Python
Python中垃圾回收和del语句详解
Nov 15 Python
Python基于OpenCV实现人脸检测并保存
Jul 23 Python
python属于解释型语言么
Jun 15 Python
python高级特性简介
Aug 13 Python
python输出国际象棋棋盘的实例分享
Nov 26 Python
python3.8.3安装教程及环境配置的详细教程(64-bit)
Nov 28 Python
python绘制箱型图
Apr 27 Python
聊聊Python String型列表求最值的问题
Jan 18 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
fgetcvs在linux的问题
2012/01/15 PHP
javascript判断单选框或复选框是否选中方法集锦
2007/04/04 Javascript
菜鸟javascript基础资料整理3 正则
2010/12/06 Javascript
js中将具有数字属性名的对象转换为数组
2011/03/06 Javascript
JQuery datepicker 使用方法
2011/05/20 Javascript
php+js实现倒计时功能
2014/06/02 Javascript
jQuery结合HTML5制作的爱心树表白动画
2015/02/01 Javascript
JQuery自动触发事件的方法
2015/06/13 Javascript
javascript判断网页是关闭还是刷新
2015/09/12 Javascript
关于session和cookie的简单理解
2016/06/08 Javascript
微信小程序 首页制作简单实例
2017/04/07 Javascript
JavaScript如何获取到导航条中HTTP信息
2017/10/10 Javascript
利用vue + element实现表格分页和前端搜索的方法
2017/12/25 Javascript
Vue2.0结合webuploader实现文件分片上传功能
2018/03/09 Javascript
javascript实现图片轮换动作方法
2020/08/07 Javascript
Ant Design moment对象和字符串之间的相互转化教程
2020/10/27 Javascript
Pycharm学习教程(7)虚拟机VM的配置教程
2017/05/04 Python
Python二叉搜索树与双向链表转换算法示例
2019/03/02 Python
python 机器学习之支持向量机非线性回归SVR模型
2019/06/26 Python
python实现的登录与提交表单数据功能示例
2019/09/25 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
2019/11/15 Python
使用Python操作ArangoDB的方法步骤
2020/02/02 Python
python如何控制进程或者线程的个数
2020/10/16 Python
CSS3实现粒子旋转伸缩加载动画
2016/04/22 HTML / CSS
法国女性内衣购物网站:Glamuse
2019/05/13 全球购物
Tessabit美国:集世界奢侈品和设计师品牌的意大利精品买手店
2020/06/29 全球购物
装修五一活动策划案
2014/01/23 职场文书
大家检讨书5000字
2014/02/03 职场文书
潘婷洗发水广告词
2014/03/14 职场文书
入党积极分子自我批评思想汇报
2014/10/10 职场文书
民主评议党员总结
2014/10/20 职场文书
环保建议书作文300字
2015/09/14 职场文书
python单元测试之pytest的使用
2021/06/07 Python
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
2022/05/04 Python
Mybatis-plus配置分页插件返回统一结果集
2022/06/21 Java/Android
Python如何加载模型并查看网络
2022/07/15 Python