使用Python插入MySQL数据库后如何获取ID?

使用 INSERT 语句将数据插入到 Mysql 中的表中。在向表中插入数据时,必须按照与数据库中列定义相同的顺序提供数据,或者在使用 INSERT 语句时必须与数据一起提供列名。

要获取和打印最后插入的行的 ID,使用 lastrowid。这是一个特殊的关键字,用于获取最后插入行的 ID。在使用此方法之前,需要注意某些先决条件。

  • ID 列必须是表中的主键。

  • ID 列必须自动递增。

语法

cs.lastrowid

这里,cs 是游标对象。

在python中使用MySQL获取表中插入行的id的步骤

  • 导入 MySQL 连接器

  • 使用连接器建立连接 connect()

  • 使用cursor()方法创建游标对象

  • 创建一个查询以在表中插入一行

  • 使用execute()方法执行 SQL 查询

  • 获取使用 lastrowid 插入的行的 ID。

  • 关闭连接

假设我们有下表名为“Students”。

+--------+---------+-----------+------------+
|    id  |   Name  |    City   |    Marks   |
+--------+---------+-----------+------------+
|    1   |   Karan |  Amritsar |    95      |
|    2   |   Sahil |  Amritsar |    93      |
|    3   |   Kriti |    Batala |    88      |
|    4   |    Amit |     Delhi |    90      |
+--------+---------+-----------+------------+

示例

上列中的ID列为主键,自增。我们将在表中插入一个新行并获取最后插入行的 id。

import mysql.connector
db=mysql.connector.connect(host="your host", user="your username",password="your
password",database="database_name")

cursor=db.cursor()

#在表中插入一个新行
query="INSERT INTO Students VALUES(5,“Priya”, “Amritsar”, 90)"
cursor.execute(query)
db.commit()

#打印插入行的 id
print(cursor.lastrowid)

db.close()
输出结果
5