Heim >Datenbank >MySQL-Tutorial >Wie rufe ich mit Python einen automatisch inkrementierten MySQL-Primärschlüssel nach dem Einfügen ab?

Wie rufe ich mit Python einen automatisch inkrementierten MySQL-Primärschlüssel nach dem Einfügen ab?

DDD
DDDOriginal
2024-12-06 02:52:17985Durchsuche

How to Retrieve a MySQL Auto-Incremented Primary Key After INSERT Using Python?

Primärschlüssel nach dem INSERT mit Python in MySQL abrufen

Beim Ausführen einer INSERT INTO-Anweisung in einer MySQL-Datenbank mit Python ist dies häufig erforderlich um den Primärschlüssel (normalerweise automatisch inkrementiert) des neu erstellten Datensatzes abzurufen. So können Sie dies erreichen:

Methode 1: Cursor.lastrowid verwenden

Nach der Ausführung einer Einfügeanweisung enthält das Cursorobjekt einen Verweis auf die zuletzt eingefügte Zeile. Sie können das Attribut „cursor.lastrowid“ verwenden, um den automatisch generierten Primärschlüsselwert abzurufen:

import mysql.connector

connection = mysql.connector.connect(...)
cursor = connection.cursor()

height = 100
cursor.execute("INSERT INTO mytable(height) VALUES(%s)", (height,))
connection.commit()

new_id = cursor.lastrowid
cursor.close()
connection.close()

Methode 2: Verwenden von „connection.insert_id()“

Einige Datenbank Connectors stellen eine insert_id()-Methode für das Verbindungsobjekt bereit. Diese Methode gibt die letzte automatisch generierte ID zurück, die für diese bestimmte Verbindung eingefügt wurde:

import mysql.connector

connection = mysql.connector.connect(...)
cursor = connection.cursor()

height = 100
cursor.execute("INSERT INTO mytable(height) VALUES(%s)", (height,))
connection.commit()

new_id = connection.insert_id()
cursor.close()
connection.close()

Das obige ist der detaillierte Inhalt vonWie rufe ich mit Python einen automatisch inkrementierten MySQL-Primärschlüssel nach dem Einfügen ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn