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 05 Python
TF-IDF算法解析与Python实现方法详解
Nov 16 Python
Python实现的维尼吉亚密码算法示例
Apr 12 Python
Pipenv一键搭建python虚拟环境的方法
May 22 Python
Python玩转加密的技巧【推荐】
May 13 Python
详解利用OpenCV提取图像中的矩形区域(PPT屏幕等)
Jul 01 Python
Django如何将URL映射到视图
Jul 29 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
Aug 13 Python
Python字符串split及rsplit方法原理详解
Jun 29 Python
Python提取PDF指定内容并生成新文件
Jun 09 Python
python常见的占位符总结及用法
Jul 02 Python
详解OpenCV曝光融合
Apr 29 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留言本实例代码
2010/05/09 PHP
php addslashes及其他清除空格的方法是不安全的
2012/01/25 PHP
浅析ThinkPHP中execute和query方法的区别
2014/06/13 PHP
PHP对文件进行加锁、解锁实例
2015/01/23 PHP
PHP的pcntl多进程用法实例
2015/03/19 PHP
Laravel 5框架学习之路由、控制器和视图简介
2015/04/07 PHP
jQuery JSON实现无刷新三级联动实例探讨
2013/05/28 Javascript
jQuery实现单击按钮遮罩弹出对话框(仿天猫的删除对话框)
2014/04/10 Javascript
javascript实现简单的省市区三级联动
2015/05/14 Javascript
jquery原理以及学习技巧介绍
2015/11/11 Javascript
浅谈javascript中的call、apply、bind
2016/03/06 Javascript
解析JavaScript中的字符串类型与字符编码支持
2016/06/24 Javascript
jQuery实现产品对比功能附源码下载
2016/08/09 Javascript
ES6所改良的javascript“缺陷”问题
2016/08/23 Javascript
js从数组中删除指定值(不是指定位置)的元素实现代码
2016/09/13 Javascript
js中数组插入、删除元素操作的方法
2017/02/15 Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
2017/05/11 Javascript
ES6/JavaScript使用技巧分享
2017/12/14 Javascript
使用react实现手机号的数据同步显示功能的示例代码
2018/04/03 Javascript
对VUE中的对象添加属性
2018/09/18 Javascript
JS造成内存泄漏的几种情况实例分析
2020/03/02 Javascript
[00:12]2018DOTA2亚洲邀请赛 Somnus丶M出阵单挑
2018/04/06 DOTA
python多重继承实例
2014/10/11 Python
python距离测量的方法
2018/03/06 Python
python读取csv文件并把文件放入一个list中的实例讲解
2018/04/27 Python
keras自定义损失函数并且模型加载的写法介绍
2020/06/15 Python
详解numpy.ndarray.reshape()函数的参数问题
2020/10/13 Python
Python爬虫教程知识点总结
2020/10/19 Python
Footshop法国:购买运动鞋
2020/01/19 全球购物
农业大学毕业生的个人自我评价
2013/10/11 职场文书
专业实习自我鉴定
2013/10/29 职场文书
授权收款委托书
2014/09/23 职场文书
党员教师自我剖析材料
2014/09/29 职场文书
Redis如何一键部署脚本
2021/04/12 Redis
Python趣味挑战之给幼儿园弟弟生成1000道算术题
2021/05/28 Python
js作用域及作用域链工作引擎
2022/07/07 Javascript