python通过pymysql/MySQLdb插入数据并获取主键id的方法
Song • 444次浏览 • 0个评论 • 2019-08-06 06:38:42
首先你需把mysql
插入表的主键id
设置为AUTO_INCREMENT
,否则你可能获取到的参数为0
。
一、lastrowid方法
我们可以使用lastrowid
方法获取最后插入行的主键ID
,这里如果没有并发处理的情况下能获取到插入数据的ID,但是如果并发情况下可能会出现拿到的并非创建的ID。
具体使用方法为:
cursor.lastrowid
二、insert_id方法
insert_id
方法主要获取插入行的主键ID
,db.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()
- 没有评论
公告
- pytorch
- FreeSWITCH
- Laravel