python mysql insert 时 获取 自增 id的值

在MySQL中,当你使用INSERT语句插入一行数据到拥有自增主键的表时,你可以通过使用LAST_INSERT_ID()函数来获取这个新的自增ID值。

以下是一个简单的例子:

假设你有一个表users,它有一个自增的主键id,和其他一些字段比如usernameemail

复制代码
INSERT INTO users (username, email) VALUES ('exampleuser', 'user@example.com');
SELECT LAST_INSERT_ID();

第一条INSERT语句插入新用户数据,第二条SELECT语句返回最新插入行的自增ID值。

在编程语言中,比如python,你可以使用对应的数据库接口函数来获取这个值。例如,在python的MySQLi扩展中,你可以这样做:

复制代码
import mysql.connector
 
# 连接到MySQL数据库
conn = mysql.connector.connect(
    host='hostname',
    user='username',
    password='password',
    database='dbname'
)
cursor = conn.cursor()
 
# 执行INSERT语句
add_query = """
INSERT INTO your_table_name (column1, column2)
VALUES (%s, %s);
"""
data = ('value1', 'value2')
cursor.execute(add_query, data)
 
# 提交事务
conn.commit()
 
# 获取自增ID的值
last_id = cursor.lastrowid
print('The last inserted ID is:', last_id)
 
# 关闭连接
cursor.close()
conn.close()
相关推荐
sqyno1sky几秒前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python
互联网科技看点1 分钟前
2025-2026年研发管理软件推荐:产品研发全流程一体化靠谱解决方案评测
服务器·数据库·人工智能
Yupureki4 分钟前
《Linux系统编程》12.基础IO
linux·运维·c语言·开发语言·数据库·c++
瀚高PG实验室6 分钟前
nginx中配置数据库连接
运维·数据库·nginx·瀚高数据库
一个天蝎座 白勺 程序猿12 分钟前
Oracle替换工程实践深度解析:从迁移挑战到金仓“零改造”实践
数据库·学习·oracle·kingbasees
Sahas101926 分钟前
安装 Redis 为系统服务
数据库·redis·缓存
一蓑烟雨*任平生28 分钟前
【无标题】
数据库
霖霖总总1 小时前
[Redis小技巧27]Redis Cluster 全景指南:Gossip 协议、故障转移与生产避坑实战
数据库·redis·缓存
haoly19891 小时前
数据库原理-外部归并排序-习题1
数据库·外部排序
indexsunny1 小时前
互联网大厂Java面试:从Spring Boot到微服务的逐步挑战
java·数据库·spring boot·redis·微服务·面试·电商