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字符串替换实例分析
May 11 Python
python实现RSA加密(解密)算法
Feb 17 Python
浅谈python中copy和deepcopy中的区别
Oct 23 Python
Python安装模块的常见问题及解决方法
Feb 05 Python
python如何为被装饰的函数保留元数据
Mar 21 Python
python中强大的format函数实例详解
Dec 05 Python
python实现简单图片物体标注工具
Mar 18 Python
OpenCV HSV颜色识别及HSV基本颜色分量范围
Mar 22 Python
python实现电子书翻页小程序
Jul 23 Python
pygame实现俄罗斯方块游戏(AI篇2)
Oct 29 Python
Python自动采集微信联系人的实现示例
Feb 28 Python
Pytorch 如何实现常用正则化
May 27 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 分页类(模仿google)-面试题目解答
2009/09/13 PHP
php读取html并截取字符串的简单代码
2009/11/30 PHP
php中防止恶意刷新页面的代码小结
2012/10/31 PHP
phpmyadmin出现Cannot start session without errors问题解决方法
2014/08/14 PHP
php实现的树形结构数据存取类实例
2014/11/29 PHP
PHP基于接口技术实现简单的多态应用完整实例
2017/04/26 PHP
PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】
2018/05/21 PHP
PHP接口类(interface)的定义、特点和应用示例
2020/05/18 PHP
use jscript with List Proxy Server Information
2007/06/11 Javascript
js鼠标左右键 键盘值小结
2010/06/11 Javascript
javascript date格式化示例
2013/09/25 Javascript
Jquery 实现checkbox全选方法
2015/01/28 Javascript
JavaScript如何获取到导航条中HTTP信息
2017/10/10 Javascript
Vue.js 通过jQuery ajax获取数据实现更新后重新渲染页面的方法
2018/08/09 jQuery
vue+elementUI实现表单和图片上传及验证功能示例
2019/05/14 Javascript
微信小程序学习总结(五)常见问题实例小结
2020/06/04 Javascript
javascript实现前端成语点击验证优化
2020/06/24 Javascript
Vue proxyTable配置多个接口地址,解决跨域的问题
2020/09/11 Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
2020/11/06 Javascript
[40:50]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第四场
2014/05/24 DOTA
Python3中多线程编程的队列运作示例
2015/04/16 Python
详解Python中for循环的使用方法
2015/05/14 Python
Python中for循环控制语句用法实例
2015/06/02 Python
对python3 Serial 串口助手的接收读取数据方法详解
2019/06/12 Python
Python 控制终端输出文字的实例
2019/07/12 Python
正则给header的冒号两边参数添加单引号(Python请求用)
2019/08/09 Python
CSS3与动画有关的属性transition、animation、transform对比(史上最全版)
2017/08/18 HTML / CSS
全球在线商店:BerryLook
2019/04/14 全球购物
写给保洁员表扬信
2014/01/08 职场文书
高中生物教学反思
2014/02/05 职场文书
工作分析计划书
2014/04/30 职场文书
运动会加油稿100字
2014/09/19 职场文书
2014年审计工作总结
2014/11/17 职场文书
体育个人工作总结
2015/02/09 职场文书
离婚答辩状范文
2015/05/22 职场文书
用Python创建简易网站图文教程
2021/06/11 Python