Abrufen des automatisch generierten Schlüssels nach einer INSERT-Anweisung in MySQL mit Python
Beim Ausführen einer INSERT-Operation in einer MySQL-Datenbank mit Python, Oft ist es erforderlich, den Primärschlüssel oder die automatisch generierte ID der neu eingefügten Zeile abzurufen. Dies kann nützlich sein, um in nachfolgenden Vorgängen auf die eingefügte Zeile zu verweisen oder um die Eindeutigkeit der Zeile beizubehalten.
Verwendung von „cursor.lastrowid“
Der Python MySQL Connector stellt einen Cursor bereit Objekt, das nach seiner Initialisierung zum Ausführen von SQL-Anweisungen und zum Abrufen resultierender Daten verwendet werden kann. Nachdem eine INSERT-Anweisung ausgeführt wurde, enthält das Attribut „cursor.lastrowid“ den Primärschlüssel oder die automatisch generierte ID der neu eingefügten Zeile.
Betrachten Sie beispielsweise den folgenden Code:
import mysql.connector conn = mysql.connector.connect(...) cursor = conn.cursor() cursor.execute("INSERT INTO mytable(height) VALUES(%s)", (height)) inserted_id = cursor.lastrowid
In diesem Code wird das lastrowid-Attribut abgerufen und in der Variable insert_id gespeichert. Diese ID stellt den Primärschlüssel der neu eingefügten Zeile dar.
Verwendung von „connection.insert_id()“
Alternativ stellt das Verbindungsobjekt selbst ein insert_id-Attribut bereit, das die ID zurückgibt der letzten durch die Verbindung eingefügten Zeile. Dieses Attribut ist auch nach dem Schließen des Cursors verfügbar.
Der folgende Code zeigt, wie Connection.insert_id() verwendet wird:
import mysql.connector conn = mysql.connector.connect(...) cursor = conn.cursor() cursor.execute("INSERT INTO mytable(height) VALUES(%s)", (height)) inserted_id = conn.insert_id()
Unabhängig von der verwendeten Methode wird die abgerufene insert_id bzw lastrowid kann verwendet werden, um die neu eingefügte Zeile in der Datenbank zu identifizieren.
Das obige ist der detaillierte Inhalt vonWie rufe ich automatisch generierte Schlüssel nach dem INSERT in MySQL mit Python ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!