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()
相关推荐
青山撞入怀111412 小时前
sql题目练习——聚合函数
数据库·sql
disanleya12 小时前
MySQL默认端口为何是3306?修改后如何管理?
数据库·mysql·adb
川石课堂软件测试15 小时前
MySQL数据库之DBA命令
数据库·网络协议·mysql·http·单元测试·prometheus·dba
ybb_ymm17 小时前
mysql8在linux下的默认规则修改
linux·运维·数据库·mysql
倔强的石头_18 小时前
Navicat Premium 与金仓数据库融合实践:高效管理国产数据库新方案
数据库
程序新视界18 小时前
为什么要尽量将MySQL表字段要设置为NOT NULL?
数据库·mysql·dba
怪兽201418 小时前
SQL优化手段有哪些
java·数据库·面试
lypzcgf19 小时前
FastbuildAI后端数据库模块注册分析
数据库·ai应用·ai创业·智能体平台·ai应用平台·agent平台·fastbuildai
xyy202520 小时前
Spring事务的传播方式
java·数据库·spring