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
投稿

猜你喜欢

  • 详解python3 GUI刷屏器(附源码)

    2022-02-02 12:34:15
  • python实现selenium截图的两种方法

    2023-08-16 06:26:57
  • python中getattr函数使用方法 getattr实现工厂模式

    2021-02-25 00:34:30
  • Python实现Event回调机制的方法

    2021-04-10 12:33:29
  • 使用Tensorflow将自己的数据分割成batch训练实例

    2023-06-14 08:18:07
  • 爬虫逆向抖音新版signature分析案例

    2021-06-23 00:15:59
  • 详解PyQt5 事件处理机制

    2023-04-06 00:09:34
  • Ajax学习小贴士

    2007-10-24 23:21:00
  • python主线程捕获子线程的方法

    2022-06-07 21:25:46
  • mysql优化小技巧之去除重复项实现方法分析【百万级数据】

    2024-01-17 03:44:31
  • Django+Django-Celery+Celery的整合实战

    2021-10-30 14:53:50
  • MySQL列类型的选择与MySQL的查询效率

    2009-01-14 12:53:00
  • PHP使用观察者模式处理异常信息的方法详解

    2023-10-19 15:53:30
  • Python人工智能实战之对话机器人的实现

    2021-03-20 15:59:18
  • 微信小程序canvas写字板效果及实例

    2024-04-19 09:44:03
  • Python减少循环层次和缩进的技巧分析

    2023-10-07 21:41:09
  • python 可视化库PyG2Plot的使用

    2022-10-14 05:22:17
  • python的去重以及数据合并的用法说明

    2023-01-12 07:12:57
  • Python 专题二 条件语句和循环语句的基础知识

    2022-11-29 16:46:41
  • Python3 replace()函数使用方法

    2023-07-21 22:25:13
  • asp之家 网络编程 m.aspxhome.com