如何使用Python在INSERT到MySQL数据库后获取id?

如何使用Python在INSERT到MySQL数据库后获取id?

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

要获取并打印最后插入行的ID,请使用lastrowid。这是一个特殊关键字,用于获取最后插入行的ID。在使用此方法之前,必须考虑一些前提条件。

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

  • ID列必须是自动增量的。

阅读更多:Python 教程

语法

cs.lastrowid
Python

在这里,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      |
+--------+---------+-----------+------------+
Python

示例

上述表中的ID列是主键和自动增量的。我们将向表中插入一行新记录并获取最后插入行的ID。

import mysql.connector
db=mysql.connector.connect(host="你的主机名", user="你的用户名",password="你的密码",database="数据库名")

cursor=db.cursor()

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

#print the id of the inserted row
print(cursor.lastrowid)

db.close()
Python

输出

5
Python

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册