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 15 Python
Python对小数进行除法运算的正确方法示例
Aug 25 Python
使用Python抓取豆瓣影评数据的方法
Oct 17 Python
Python逐行读取文件中内容的简单方法
Feb 26 Python
python批量解压zip文件的方法
Aug 20 Python
如何用OpenCV -python3实现视频物体追踪
Dec 04 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
Feb 11 Python
python中有函数重载吗
May 28 Python
python程序实现BTC(比特币)挖矿的完整代码
Jan 20 Python
Python3利用openpyxl读写Excel文件的方法实例
Feb 03 Python
Python中的min及返回最小值索引的操作
May 10 Python
基于Python和openCV实现图像的全景拼接详细步骤
Oct 05 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项目的方法
2006/10/09 PHP
PHP 二维数组和三维数组的过滤
2016/03/16 PHP
PHP判断表达式中括号是否匹配的简单实例
2016/10/22 PHP
在JS中最常看到切最容易迷惑的语法(转)
2010/10/29 Javascript
Jquery多选框互相内容交换的实例代码
2013/07/04 Javascript
JS中三目运算符和if else的区别分析与示例
2014/11/21 Javascript
JavaScript跨浏览器获取页面中相同class节点的方法
2015/03/03 Javascript
jQuery中hover与mouseover和mouseout的区别分析
2015/12/24 Javascript
基于JS实现EOS隐藏错误提示层代码
2016/04/25 Javascript
ES7中利用Await减少回调嵌套的方法详解
2017/11/01 Javascript
vue中使用input[type=&quot;file&quot;]实现文件上传功能
2018/09/10 Javascript
vue实现条件判断动态绑定样式的方法
2018/09/29 Javascript
微信小程序框架的页面布局代码
2019/08/17 Javascript
JavaScript实现横版菜单栏
2020/03/17 Javascript
python遍历文件夹并删除特定格式文件的示例
2014/03/05 Python
Python break语句详解
2014/03/11 Python
python进阶教程之异常处理
2014/08/30 Python
在Python的web框架中配置app的教程
2015/04/30 Python
Python过滤列表用法实例分析
2016/04/29 Python
python爬虫headers设置后无效的解决方法
2017/10/21 Python
微信跳一跳python辅助软件思路及图像识别源码解析
2018/01/04 Python
python如何获取当前文件夹下所有文件名详解
2019/01/25 Python
Python使用scipy模块实现一维卷积运算示例
2019/09/05 Python
浅谈TensorFlow中读取图像数据的三种方式
2020/06/30 Python
keras topN显示,自编写代码案例
2020/07/03 Python
Python 如何查找特定类型文件
2020/08/17 Python
canvas之万花筒效果的简单实现(推荐)
2016/08/16 HTML / CSS
html5需遵循的6个设计原则
2016/04/27 HTML / CSS
CheapTickets香港机票预订网站:CheapTickets.hk
2019/06/26 全球购物
英国经济型酒店品牌:Travelodge
2019/12/17 全球购物
Blue Nile蓝色尼罗河香港官网:世界最大在线钻石珠宝销售商
2020/05/07 全球购物
实习自我鉴定范文
2013/10/30 职场文书
银行领导证婚词
2014/01/11 职场文书
技校毕业生自荐信范文
2014/03/07 职场文书
历史学专业求职信
2014/06/19 职场文书
SQL Server作业失败:无法确定所有者是否有服务器访问权限的解决方法
2021/06/30 SQL Server