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中lambda的用法及其与def的区别解析
Jul 28 Python
Python爬取国外天气预报网站的方法
Jul 10 Python
python利用标准库如何获取本地IP示例详解
Nov 01 Python
Python使用pickle模块报错EOFError Ran out of input的解决方法
Aug 16 Python
分享8个非常流行的 Python 可视化工具包
Jun 05 Python
python生成器/yield协程/gevent写简单的图片下载器功能示例
Oct 28 Python
pytorch 数据处理:定义自己的数据集合实例
Dec 31 Python
通俗易懂了解Python装饰器原理
Sep 17 Python
python飞机大战游戏实例讲解
Dec 04 Python
用Python的绘图库(matplotlib)绘制小波能量谱
Apr 17 Python
Pytorch中的学习率衰减及其用法详解
Jun 05 Python
Python游戏开发实例之graphics实现AI五子棋
Nov 01 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
YII Framework框架教程之缓存用法详解
2016/03/14 PHP
PHP QRCODE生成彩色二维码的方法
2016/05/19 PHP
Laravel框架Auth用户认证操作实例分析
2019/09/29 PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
2020/08/20 PHP
javascript new一个对象的实质
2010/01/07 Javascript
Jquery 常用方法经典总结
2010/01/28 Javascript
JS中typeof与instanceof之间的区别总结
2013/11/14 Javascript
jQuery中data()方法用法实例
2014/12/27 Javascript
javascript 数组的正态分布排序的问题
2016/07/31 Javascript
基于vue.js轮播组件vue-awesome-swiper实现轮播图
2017/03/17 Javascript
微信小程序 Buffer缓冲区的详解
2017/07/06 Javascript
Easyui使用Dialog行内按钮布局的实例
2017/07/27 Javascript
vue将时间戳转换成自定义时间格式的方法
2018/03/02 Javascript
js中DOM事件绑定分析
2018/03/18 Javascript
Vue CLI3.0中使用jQuery和Bootstrap的方法
2019/02/28 jQuery
[04:03]DOTA2英雄梦之声_第02期_风暴之灵
2014/06/30 DOTA
[49:31]TFT vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
python实现调用其他python脚本的方法
2014/10/05 Python
Python实现JSON反序列化类对象的示例
2018/01/31 Python
python更改已存在excel文件的方法
2018/05/03 Python
Python 的AES加密与解密实现
2019/07/09 Python
如何通过50行Python代码获取公众号全部文章
2019/07/12 Python
Python中一个for循环循环多个变量的示例
2019/07/16 Python
Python基于爬虫实现全网搜索并下载音乐
2021/02/14 Python
Python中Qslider控件实操详解
2021/02/20 Python
三星印度官网:Samsung印度
2019/08/03 全球购物
P D PAOLA法国官网:西班牙著名的珠宝首饰品牌
2020/02/15 全球购物
三维科技面试题
2013/07/27 面试题
自考自我鉴定范文
2013/10/30 职场文书
人事专员岗位职责
2013/11/20 职场文书
新闻传媒系求职信范文
2014/04/19 职场文书
希特勒的演讲稿
2014/05/23 职场文书
村干部群众路线整改措施思想汇报
2014/10/12 职场文书
2015年维修工作总结
2015/04/25 职场文书
2016年秋季运动会广播稿
2015/12/21 职场文书
中职班主任培训心得体会
2016/01/07 职场文书