python通过pymysql/MySQLdb插入数据并获取主键id的方法

Song • 1184 次浏览 • 0 个回复 • 2019年08月06日

首先你需把mysql插入表的主键id设置为AUTO_INCREMENT,否则你可能获取到的参数为0

一、lastrowid方法

我们可以使用lastrowid方法获取最后插入行的主键ID,这里如果没有并发处理的情况下能获取到插入数据的ID,但是如果并发情况下可能会出现拿到的并非创建的ID

具体使用方法为:

cursor.lastrowid

二、insert_id方法

insert_id方法主要获取插入行的主键IDdb.insert_id()一定要在db.commit()之前,否则会返回结果为0

具体使用方法为:

db.insert_id()

最终使用方法如下:

db = pymysql.connect("host", "user", "password", "database")
cursor = db.cursor()
sql = "INSERT INTO orders(name) VALUES ('1');"
try:
    cursor.execute(sql)
    print("最新ID为", int(cursor.lastrowid))
    print("插入数据的ID", int(db.insert_id()))
    db.commit()
except:
    db.rollback()
db.close()

三、其它更多参考


原创文章,转载请注明 :python通过pymysql/MySQLdb插入数据并获取主键id的方法 - pytorch中文网
原文出处: https://ptorch.com/news/250.html
问题交流群 :168117787
提交评论
要回复文章请先登录注册
用户评论
  • 没有评论
Pytorch是什么?关于Pytorch! 端到端中文车牌识别