Maison >base de données >tutoriel mysql >Comment récupérer une clé primaire auto-incrémentée MySQL après INSERT à l'aide de Python ?

Comment récupérer une clé primaire auto-incrémentée MySQL après INSERT à l'aide de Python ?

DDD
DDDoriginal
2024-12-06 02:52:17985parcourir

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

Récupérer la clé primaire post-INSERT avec Python dans MySQL

Lors de l'exécution d'une instruction INSERT INTO dans une base de données MySQL à l'aide de Python, cela est souvent nécessaire pour récupérer la clé primaire (généralement auto-incrémentée) de l'enregistrement nouvellement créé. Voici comment y parvenir :

Méthode 1 : Utilisation de curseur.lastrowid

Après avoir exécuté une instruction d'insertion, l'objet curseur contient une référence à la dernière ligne insérée. Vous pouvez utiliser l'attribut curseur.lastrowid pour récupérer la valeur de clé primaire générée automatiquement :

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()

Méthode 2 : Utilisation de connection.insert_id()

Une base de données les connecteurs fournissent une méthode insert_id() sur l’objet de connexion. Cette méthode renvoie le dernier identifiant généré automatiquement inséré sur cette connexion particulière :

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()

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!

Déclaration:
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