Python3 操作 MySQL 插入一条数据并返回主键 id的实例

作者:极客点儿 时间:2024-01-21 06:05:16 

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>

来源:https://blog.csdn.net/yilovexing/article/details/89308061

标签:Python3,MySQL,数据,主键id
0
投稿

猜你喜欢

  • python实现图片加文字水印OPenCV和PIL库

    2021-02-04 19:29:09
  • 使用django实现一个代码发布系统

    2022-06-28 02:42:45
  • Python中datetime模块参考手册

    2021-04-21 23:31:12
  • Python面向对象编程之类的概念

    2021-12-24 10:56:33
  • 使用CSS3和RGBa创建超酷的按钮

    2009-06-02 12:41:00
  • python生成遍历暴力破解密码的方法

    2021-07-02 21:28:54
  • python使用matplotlib显示图像失真的解决方案

    2021-03-30 22:31:02
  • 在python中获取div的文本内容并和想定结果进行对比详解

    2021-09-05 07:29:37
  • python 实现批量xls文件转csv文件的方法

    2023-08-29 10:25:26
  • SpringBoot 集成 Jasypt 对数据库加密以及踩坑的记录分享

    2024-01-24 11:14:48
  • python 使用openpyxl读取excel数据

    2021-02-10 07:32:10
  • asp中Adodb.Stream 的使用说明

    2007-09-11 13:53:00
  • Pytorch图像处理注意力机制解析及代码详解

    2023-10-05 03:23:03
  • python机器学习理论与实战(六)支持向量机

    2023-10-18 22:59:53
  • pytorch 自定义卷积核进行卷积操作方式

    2021-07-24 22:54:39
  • Python的log日志功能及设置方法

    2022-03-28 22:13:32
  • 详解从Django Allauth中进行登录改造小结

    2021-05-05 14:26:58
  • 简单介绍Python中的JSON模块

    2023-12-30 00:16:29
  • 浏览器是怎样工作的二:渲染引擎 HTML解析

    2012-05-09 20:34:20
  • python定时任务timeloop库用法实例详解

    2023-12-21 19:34:53
  • asp之家 网络编程 m.aspxhome.com