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方法前插入以下代码即可:

SELECT LAST_INSERT_ID() AS id

以上这篇Python3 操作 MySQL 插入一条数据并返回主键 id的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持python博客。

python mysql批量insert数据、返回id_Python3 操作 MySQL 插入一条数据并返回主键 id的实例...相关推荐

  1. mysql数据库使用一条insert语句同时插入多条数据

    我们常见的MySQL数据库插入数据的方法是insert语句,例如: INSERT INTO student(name,no,age,address) VALUES ('张三','1001',20,'上 ...

  2. php mysql 插入多条数据_mysql如何插入多条数据?

    mysql插入多条数据的方法:1.使用"INSERT INTO 表名 字段列表 VALUES (值1) - , (值n);"语句插入数据:2.使用"INSERT INTO ...

  3. mybatis添加记录时返回主键id

    参考:mybatis添加记录时返回主键id 场景 有些时候我们在添加记录成功后希望能直接获取到该记录的主键id值,而不需要再执行一次查询操作. 在使用mybatis作为ORM组件时,可以很方便地达到这 ...

  4. mysql批量insert into_mysql批量插入数据

    review代码发现,同事mysql批量插入数据的实现方法是,用for循环遍历,将列表每个数据单次插入.相当于批量插入N条数据,进行了n次的数据库连接和插入操作. 底层有批量插入的方法,但是会有问题, ...

  5. mysql命令行批量添加数据_mysql命令行批量插入100条数据命令

    先介绍一个关键字的使用: delimiter 定好结束符为"$$",(定义的时候需要加上一个空格) 然后最后又定义为";", MYSQL的默认结束符为" ...

  6. MySQL 批量插入数据,单次插入多少条数据效率最高

    文章目录 一.前言 二.批量插入前准备 1.插入到数据表的字段 2.计算一行字段占用的空间 3.在数据里做插入操作的时候,整体时间的分配 三.批量插入数据测试 1.SQL语句的大小限制 2.查看服务器 ...

  7. mysql 批量删除_Python接口测试之对MySQL的增、删、改、查操作(五)

    本文章主要来说python对mysql数据库的基本操作,前提是已搭建python环境和Mysql数据库的环境,这里不再详细介绍.在python的命令行环境下看是否可以导入MySQLdb,如果可以导入并 ...

  8. 七种MYSQL插入数据后返回自增主键ID的方法

    我们都知道,mysql中的insert插入之后会有返回值,返回的是影响的行数,也就是说,成功插入一条数据之后返回的是1,失败则返回0.那么,很多时候我们都想要得到最后插入的id值,下面七种方法均可,结 ...

  9. mysql delayed_mysql insert的几点操作(DELAYED,IGNORE,ON DUPLICATE KEY UPDATE )

    mysql insert的几点操作(DELAYED,IGNORE,ON DUPLICATE KEY UPDATE ) 更新时间:2010年04月14日 13:46:04   作者: DELAYED 做 ...

最新文章

  1. 寒假作业,2.25,G - iBoard
  2. Asp.net 序列化应用实例(转载)
  3. Python 面向对象封装和继承
  4. 操作系统:第四章 文件管理1 - 文件逻辑结构,物理结构,文件目录,软硬连接,文件系统
  5. stone 的 log4j配置详解
  6. 用C#新建XML文件
  7. 双缓冲(Double Buffer)原理和使用【转】
  8. 第二章 ASP.NET MVC (视图传值到控制器)
  9. 一口气说出8种幂等性解决重复提交的方案,面试官懵了!(附代码)
  10. tomcat启动报错:Address already in use: JVM_Bind
  11. 普中V2 7人多数表决器 51单片机 仿真 proteus
  12. 次坐标从0开始_干货 | 全站仪测量使用方法及坐标计算,一步一步讲解!
  13. VS中如何添加报表控件
  14. 晶体管电路设计学习笔记(一)
  15. 关于poi操作word,word转换pdf预览,这边文章就够了
  16. 用户态协议栈之epoll实现
  17. 【转载】Microsoft 365 E5邮件API调用自动订阅无限续订服务
  18. android service拦截按键,android里面屏蔽home键/禁止Home键或者随你DIY
  19. 农夫山泉有点牛!港股打新把暗盘系统都整崩溃了
  20. python socks代理 命令行_Python使用socks代理

热门文章

  1. 最新开源LiDAR数据集LSOOD:四种常见的室外物体分类
  2. 【全网最短】实现倒计时:时分秒的功能
  3. 在温系统下制作马克系统引导安装镜像启动U盘安装马克OS
  4. 在rMBP上利用Python的onetimepass库实现Google Authenticator Application的效果
  5. vim 7.4同时支持python 2.x和3.x问题调研
  6. weiss数据结构和算法书的使用说明
  7. leetcode-300 最长上升子序列
  8. leetcode-152 乘积最大子序列
  9. Android 常见异常及解决办法
  10. bzoj 2588 Spoj 10628. Count on a tree (可持久化线段树)