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模拟Django框架实例
May 17 Python
Python实现将Excel转换为json的方法示例
Aug 05 Python
TensorFlow损失函数专题详解
Apr 26 Python
python读取csv文件并把文件放入一个list中的实例讲解
Apr 27 Python
Python Django2.0集成Celery4.1教程
Nov 19 Python
为什么黑客都用python(123个黑客必备的Python工具)
Jan 31 Python
Python3爬虫中关于Ajax分析方法的总结
Jul 10 Python
利用Python实现斐波那契数列的方法实例
Jul 26 Python
python实现一个简单RPC框架的示例
Oct 28 Python
python读取excel数据并且画图的实现示例
Feb 08 Python
Python max函数中key的用法及原理解析
Jun 26 Python
Python学习开发之图形用户界面详解
Aug 23 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
支持oicq头像的留言簿(一)
2006/10/09 PHP
加速XP搜索功能堪比vista
2007/03/22 PHP
PHP 验证码的实现代码
2011/07/17 PHP
php socket客户端及服务器端应用实例
2014/07/04 PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
2015/12/16 PHP
CodeIgniter配置之config.php用法实例分析
2016/01/19 PHP
在Laravel中使用MongoDB的方法示例
2019/11/11 PHP
javascript 去字符串空格终极版(支持utf8)
2009/11/14 Javascript
浅析JavaScript中的CSS属性及命名规范
2013/11/28 Javascript
Javascript 按位与运算符 (&amp;)使用介绍
2014/02/04 Javascript
javascript操作select元素实例分析
2015/03/27 Javascript
JavaScript将当前时间转换成UTC标准时间的方法
2015/04/06 Javascript
javascript实现选中复选框后相关输入框变灰不可用的方法
2015/08/11 Javascript
利用Javascript实现BMI计算器
2016/08/16 Javascript
12 种使用Vue 的最佳做法
2020/03/30 Javascript
小程序分享链接onShareAppMessage的具体用法
2020/05/22 Javascript
[04:12]第二届DOTA2亚洲邀请赛选手传记-Newbee.Sccc
2017/04/03 DOTA
python基于xml parse实现解析cdatasection数据
2014/09/30 Python
Python写的Tkinter程序屏幕居中方法
2015/03/10 Python
python实现汉诺塔方法汇总
2016/07/25 Python
Python Json模块中dumps、loads、dump、load函数介绍
2018/05/15 Python
python 实现turtle画图并导出图片格式的文件
2019/12/07 Python
Python TCPServer 多线程多客户端通信的实现
2019/12/31 Python
基于html和CSS3制作酷炫的导航栏
2015/09/23 HTML / CSS
Ashford台湾:以折扣价提供奢华的男女用表款
2019/12/04 全球购物
Java程序员面试90题
2013/10/19 面试题
实习老师个人总结的自我评价
2013/09/28 职场文书
物流专业大学生求职信范文
2013/10/28 职场文书
自荐信范文
2013/12/10 职场文书
个人自荐书
2013/12/20 职场文书
书香家庭事迹材料
2014/05/09 职场文书
2015年元旦演讲稿
2014/09/12 职场文书
党员对照检查材料思想汇报
2014/09/16 职场文书
2015暑期社会实践个人总结
2015/07/13 职场文书
防溺水安全教育主题班会
2015/08/12 职场文书
2016秋季田径运动会广播稿
2015/12/21 职场文书