这篇文章主要介绍了python3 操作 MysqL 插入一条数据并返回主键 id的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。