Heim > Datenbank > MySQL-Tutorial > Wie rufe ich automatisch generierte Schlüssel nach dem INSERT in MySQL mit Python ab?

Wie rufe ich automatisch generierte Schlüssel nach dem INSERT in MySQL mit Python ab?

Susan Sarandon
Freigeben: 2024-12-16 18:29:12
Original
618 Leute haben es durchsucht

How to Retrieve Auto-Generated Keys After INSERT in MySQL with Python?

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
Nach dem Login kopieren

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()
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage