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