Maison > base de données > tutoriel mysql > Comment récupérer les clés générées automatiquement après INSERT dans MySQL avec Python ?

Comment récupérer les clés générées automatiquement après INSERT dans MySQL avec Python ?

Susan Sarandon
Libérer: 2024-12-16 18:29:12
original
618 Les gens l'ont consulté

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

Récupération de la clé générée automatiquement après une instruction INSERT dans MySQL avec Python

Lors de l'exécution d'une opération INSERT dans une base de données MySQL à l'aide de Python, il est souvent nécessaire de récupérer la clé primaire ou l'ID généré automatiquement de la ligne nouvellement insérée. Cela peut être utile pour référencer la ligne insérée dans des opérations ultérieures ou pour conserver le caractère unique de la ligne.

Utilisation de curseur.lastrowid

Le connecteur Python MySQL fournit un curseur objet qui, une fois initialisé, peut être utilisé pour exécuter des instructions SQL et récupérer les données résultantes. Une fois qu'une instruction INSERT a été exécutée, l'attribut curseur.lastrowid contient la clé primaire ou l'ID généré automatiquement de la ligne nouvellement insérée.

Par exemple, considérons le code suivant :

import mysql.connector

conn = mysql.connector.connect(...)
cursor = conn.cursor()
cursor.execute("INSERT INTO mytable(height) VALUES(%s)", (height))
inserted_id = cursor.lastrowid
Copier après la connexion

Dans ce code, l'attribut lastrowid est récupéré et stocké dans la variable insert_id. Cet ID représente la clé primaire de la ligne nouvellement insérée.

Utilisation de connection.insert_id()

Alternativement, l'objet de connexion lui-même fournit un attribut insert_id qui renvoie l'ID de la dernière ligne insérée via la connexion. Cet attribut est disponible même après la fermeture du curseur.

Le code suivant montre comment utiliser 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()
Copier après la connexion

Indépendamment de la méthode utilisée, l'insert_id ou l'insert_id récupéré lastrowid peut être utilisé pour identifier la ligne nouvellement insérée dans la base de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal