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

pythonserver side programmingprogramming

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

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

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

  • ID 列必须自动递增。

语法

cs.lastrowid

此处,cs 是游标对象。

使用 MySQL 在 python 中获取表中插入行的 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

相关文章