read from consulta python mysql database

from - ¿Cómo obtengo el "id" después de INSERTAR en la base de datos MySQL con Python?



read mysql python (4)

Ejecuto una declaración INSERT INTO

cursor.execute("INSERT INTO mytable(height) VALUES(%s)",(height))

y quiero obtener la clave principal.

Mi mesa tiene 2 columnas:

id primary, auto increment height this is the other column.

¿Cómo obtengo el "id", después de que acabo de insertar esto?


Además, cursor.lastrowid (una extensión dbapi / PEP249 compatible con MySQLdb):

>>> import MySQLdb >>> connection = MySQLdb.connect(user=''root'') >>> cursor = connection.cursor() >>> cursor.execute(''INSERT INTO sometable VALUES (...)'') 1L >>> connection.insert_id() 3L >>> cursor.lastrowid 3L >>> cursor.execute(''SELECT last_insert_id()'') 1L >>> cursor.fetchone() (3L,) >>> cursor.execute(''select @@identity'') 1L >>> cursor.fetchone() (3L,)

cursor.lastrowid es algo más barato que connection.insert_id() y mucho más económico que otro viaje redondo a MySQL.


La especificación DBAPI de Python también define el atributo ''lastrowid'' para el objeto cursor, así que ...

id = cursor.lastrowid

... debería funcionar también, y obviamente está basado en la conexión.


Use cursor.lastrowid para obtener la última fila de ID insertada en el cursor, o connection.insert_id() para obtener la ID de la última inserción de esa conexión.


SELECT @@IDENTITY AS ''Identity'';

o

SELECT last_insert_id();