Estoy usando Python y psycopg2 para interactuar con postgres.
Cuando inserto una fila ...
sql_string = "INSERT INTO hundred (name,name_slug,status) VALUES ("
sql_string += hundred_name + ", '" + hundred_slug + "', " + status + ");"
cursor.execute(sql_string)
... ¿cómo obtengo el ID de la fila que acabo de insertar? Molesto:
hundred = cursor.fetchall()
devuelve un error, mientras usa RETURNING id
:
sql_string = "INSERT INTO domes_hundred (name,name_slug,status) VALUES ("
sql_string += hundred_name + ", '" + hundred_slug + "', " + status + ") RETURNING id;"
hundred = cursor.execute(sql_string)
simplemente regresa None
.
ACTUALIZACIÓN: También lo hace currval
(aunque usar este comando directamente en postgres funciona):
sql_string = "SELECT currval(pg_get_serial_sequence('hundred', 'id'));"
hundred_id = cursor.execute(sql_string)
¿Alguien puede aconsejarme?
¡Gracias!
id
deRETURNING id
debe ser el nombre del campo del campo de número de serie / primaria.