如何使用 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