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装饰器
Jul 27 Python
基于Python 的进程管理工具supervisor使用指南
Sep 18 Python
Python 通过pip安装Django详细介绍
Apr 28 Python
Python实现通过文件路径获取文件hash值的方法
Apr 29 Python
python opencv实现运动检测
Jul 10 Python
利用Python如何实现一个小说网站雏形
Nov 23 Python
python移位运算的实现
Jul 15 Python
Python数组并集交集补集代码实例
Feb 18 Python
打印tensorflow恢复模型中所有变量与操作节点方式
May 26 Python
Appium+Python实现简单的自动化登录测试的实现
Jan 26 Python
Python 流媒体播放器的实现(基于VLC)
Apr 28 Python
Python3接口性能测试实例代码
Jun 20 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
四月新番又没了,《Re:从零开始的异世界生活》第二季延期至7月播出
2020/05/06 日漫
url decode problem 解决方法
2011/12/26 PHP
Yii快速入门经典教程
2015/12/28 PHP
php提供实现反射的方法和实例代码
2019/09/17 PHP
JavaScript 浮点数运算 精度问题
2009/10/06 Javascript
让Firefox支持event对象实现代码
2009/11/07 Javascript
jquery实现div拖拽宽度示例代码
2013/07/31 Javascript
超炫的jquery仿flash导航栏特效
2014/11/11 Javascript
Javascript中3个需要注意的运算符
2015/04/02 Javascript
ECMAScript6中Set/WeakSet详解
2015/06/12 Javascript
js实现图片缓慢放大缩小效果
2016/08/02 Javascript
iview给radio按钮组件加点击事件的实例
2017/09/30 Javascript
Angular简单验证功能示例
2017/12/22 Javascript
微信小程序时间选择插件使用详解
2018/12/28 Javascript
vue el-table实现行内编辑功能
2019/12/11 Javascript
python备份文件的脚本
2008/08/11 Python
python判断图片宽度和高度后删除图片的方法
2015/05/22 Python
浅析Python中yield关键词的作用与用法
2016/11/29 Python
Python Socket编程详细介绍
2017/03/23 Python
Python根据已知邻接矩阵绘制无向图操作示例
2018/06/23 Python
使用Python实现一个栈判断括号是否平衡
2018/08/23 Python
Python正则表达式指南 推荐
2018/10/09 Python
使用PyCharm创建Django项目及基本配置详解
2018/10/24 Python
Python网页正文转换语音文件的操作方法
2018/12/09 Python
pandas 时间格式转换的实现
2019/07/06 Python
Python读取xlsx数据生成图标代码实例
2020/08/12 Python
CSS3绘制六边形的简单实现
2016/08/25 HTML / CSS
Love, Bonito国际官网:新加坡女装品牌
2021/03/13 全球购物
网上蛋糕店创业计划书
2014/01/24 职场文书
学生会竞聘书范文
2014/03/31 职场文书
承诺书范文
2014/06/03 职场文书
2014法院干警廉洁警示教育思想汇报
2014/09/13 职场文书
2014医学院领导班子对照检查材料思想汇报
2014/09/19 职场文书
交心谈心活动总结
2015/05/11 职场文书
2015领导干部廉洁自律工作总结
2015/07/23 职场文书
PostgreSQL常用字符串分割函数整理汇总
2022/07/07 PostgreSQL