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()
相关推荐
椰羊~王小美12 小时前
存储过程 vs 存储函数:全面对比
数据库
张人玉12 小时前
SQLite的数据格式和使用命令
数据库·oracle·sqlite
last demo12 小时前
MariaDB 数据库管理
linux·运维·服务器·数据库·php·mariadb
SamDeepThinking12 小时前
在 MySQL 里,不建议使用长事务的根因
后端·mysql
蒋士峰DBA修行之路12 小时前
实验二十六 GaussDB参数调优
数据库·oracle·gaussdb
q***37512 小时前
MySQL输入密码后闪退?
数据库·mysql·adb
张人玉12 小时前
SQLite 快速入门 Cheat Sheet
数据库·sql·sqlite
杨DaB12 小时前
【MySQL】03 数据库的CRUD
数据库·mysql·adb
DarkAthena13 小时前
【DuckDB】活用marco以兼容GaussDB的SQL执行
数据库·sql·duckdb
沐浴露z13 小时前
一张思维导图理清【Redis】
数据库·redis·缓存