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 02 Python
Python简单格式化时间的方法【strftime函数】
Sep 18 Python
利用python爬取斗鱼app中照片方法实例
Dec 03 Python
Python实现感知器模型、两层神经网络
Dec 19 Python
python实现TF-IDF算法解析
Jan 02 Python
异步任务队列Celery在Django中的使用方法
Jun 07 Python
python实现画一颗树和一片森林
Jun 25 Python
Python 正则表达式匹配字符串中的http链接方法
Dec 25 Python
python selenium 弹出框处理的实现
Feb 26 Python
pyqt5利用pyqtDesigner实现登录界面
Mar 28 Python
python新手学习使用库
Jun 11 Python
python单元测试框架pytest的使用示例
Oct 07 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
《APMServ 5.1.2》使用图解
2006/10/23 PHP
php5.2时间相差8小时
2007/01/15 PHP
php5.3 goto函数介绍和示例
2014/03/21 PHP
PHP基于imap获取邮件实例
2014/11/11 PHP
typecho插件编写教程(三):保存配置
2015/05/28 PHP
JavaScript更改class和id的方法
2008/10/10 Javascript
深入Javascript函数、递归与闭包(执行环境、变量对象与作用域链)使用详解
2013/05/08 Javascript
JS小功能(offsetLeft实现图片滚动效果)实例代码
2013/11/28 Javascript
简单方法判断JavaScript对象为null或者属性为空
2014/09/26 Javascript
使用phantomjs进行网页抓取的实现代码
2014/09/29 Javascript
jQuery插件MixItUp实现动画过滤和排序
2015/04/12 Javascript
纯JavaScript代码实现移动设备绘图解锁
2015/10/16 Javascript
Bootstrap每天必学之导航条(二)
2016/03/01 Javascript
jQuery操作属性和样式详解
2016/04/13 Javascript
使用jQuery制作遮罩层弹出效果的极简实例分享
2016/05/12 Javascript
Javascript封装id、class与元素选择器方法示例
2017/03/13 Javascript
JS中正则表达式要注意lastIndex属性
2017/08/08 Javascript
vue项目中跳转到外部链接的实例讲解
2018/09/20 Javascript
JS实现选项卡效果的代码实例
2019/05/20 Javascript
[48:56]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 VG vs KG
2018/03/31 DOTA
浅谈用Python实现一个大数据搜索引擎
2017/11/28 Python
50行Python代码实现人脸检测功能
2018/01/23 Python
使用Python批量修改文件名的代码实例
2019/01/24 Python
解决tensorflow由于未初始化变量而导致的错误问题
2020/01/06 Python
python标识符命名规范原理解析
2020/01/10 Python
opencv python Canny边缘提取实现过程解析
2020/02/03 Python
python操作微信自动发消息的实现(微信聊天机器人)
2020/07/14 Python
Bibloo罗马尼亚网站:女装、男装、童装及鞋子和配饰
2019/07/20 全球购物
美团网旗下网上订餐平台:美团外卖
2020/03/05 全球购物
幼儿园保育员辞职信
2014/01/12 职场文书
白血病募捐倡议书
2014/05/14 职场文书
艾滋病宣传标语
2014/06/25 职场文书
2015高考寄语集锦
2015/02/27 职场文书
2015年中秋晚会主持稿
2015/07/30 职场文书
浅谈Mysql多表连接查询的执行细节
2021/04/24 MySQL
python字符串拼接.join()和拆分.split()详解
2021/11/23 Python