使用 Python 在 MySQL 中检索 INSERT 语句后自动生成的密钥
使用 Python 在 MySQL 数据库中执行 INSERT 操作时,通常需要检索新插入行的主键或自动生成的 ID。这对于在后续操作中引用插入的行或维护行的唯一性非常有用。
使用cursor.lastrowid
Python MySQL Connector 提供了一个游标初始化后,可用于执行 SQL 语句并检索结果数据的对象。执行 INSERT 语句后,cursor.lastrowid 属性包含新插入行的主键或自动生成的 ID。
例如,请考虑以下代码:
import mysql.connector conn = mysql.connector.connect(...) cursor = conn.cursor() cursor.execute("INSERT INTO mytable(height) VALUES(%s)", (height)) inserted_id = cursor.lastrowid
在此代码中,将检索lastrowid 属性并将其存储在inserted_id 变量中。这个ID代表新插入行的主键。
使用connection.insert_id()
或者,连接对象本身提供一个insert_id属性来返回ID通过连接插入的最后一行。即使光标关闭后,该属性也可用。
以下代码演示了如何使用connection.insert_id():
import mysql.connector conn = mysql.connector.connect(...) cursor = conn.cursor() cursor.execute("INSERT INTO mytable(height) VALUES(%s)", (height)) inserted_id = conn.insert_id()
无论使用哪种方法,检索到的insert_id或lastrowid 可用于识别数据库中新插入的行。
以上是如何使用Python在MySQL中INSERT后检索自动生成的键?的详细内容。更多信息请关注PHP中文网其他相关文章!