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

2021年1月15日 1348点热度 0人点赞 0条评论

前提

Python3

代码实现

#!/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 中并没有所谓的真正多线程,建议使用多进程。

guest
0 评论
Inline Feedbacks
查看所有评论