Ver Mensaje Individual
  #2 (permalink)  
Antiguo 02/05/2012, 02:37
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Como saber cual fue la clave generada automaticamente

Si estas usando tablas InnoDB, puedes usar el control de transacciones para controlar esto

13.4.1. Sintaxis de START TRANSACTION, COMMIT y ROLLBACK

http://dev.mysql.com/doc/refman/5.0/...last-insert-id
Cita:
The ID that was generated is maintained in the server on a per-connection basis. This means that the value returned by the function to a given client is the first AUTO_INCREMENT value generated for most recent statement affecting an AUTO_INCREMENT column by that client. This value cannot be affected by other clients, even if they generate AUTO_INCREMENT values of their own. This behavior ensures that each client can retrieve its own ID without concern for the activity of other clients, and without the need for locks or transactions.
http://mysql.conclase.net/curso/?sqlfun=LAST_INSERT_ID
Cita:
El último ID que fue generado se mantiene en el servidor en una base por conexión. Esto significa que el valor que devuelve la función para un cliente dado es valor AUTO_INCREMENT más reciente generado por ese cliente. El valor no puede verse afectado por otros clientes, aunque generen valores AUTO_INCREMENT por si mismos. Este comportamiento asegura que se puede recuperar un ID sin preocuparse por la actividad de otros clientes, y sin necesidad de bloqueos o transacciones. El valor de LAST_INSERT_ID() no cambia si se actualiza una columna AUTO_INCREMENT de una fila con un valor no mágico (es decir, un valor que no es NULL ni 0). Si se insertan muchas filas al mismo tiempo con una sentencia , LAST_INSERT_ID() devuelve el valor para la primera fila insertada. El motivo para esto es hacer posible reproducir más fácilmente la misma sentencia de nuevo en algún otro servidor. Si se da un argumento expr a LAST_INSERT_ID(), el valor del argumento será devuelto por la función, y se asigna como siguiente valor a retornar por LAST_INSERT_ID(). Esto se puede usar para simular secuencias...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 02/05/2012 a las 04:27