usar una tablas tabla registros registro insertar hacer ejemplo datos cómo crear como añadir mysql insert primary-key

tablas - mysql añadir datos a una tabla



Pregunta fácil de mysql con respecto a las claves principales y una inserción (4)

En mysql, ¿cómo obtengo la clave primaria utilizada para una operación de inserción, cuando se autoincrementa?

Básicamente, quiero que se devuelva el nuevo valor autoincrementado cuando la declaración finalice.

¡Gracias!



Su comentario de aclaración dice que le interesa asegurarse de que LAST_INSERT_ID () no dé el resultado incorrecto si ocurre otro INSERT concurrente. Tenga la seguridad de que es seguro utilizar LAST_INSERT_ID () independientemente de otra actividad simultánea. LAST_INSERT_ID () devuelve solo la ID más reciente generada durante la sesión actual.

Puedes probarlo tú mismo:

  1. Abra dos ventanas de shell, ejecute el cliente de mysql en cada una y conéctese a la base de datos.
  2. Shell 1: INSERTAR en una tabla con una clave AUTO_INCREMENT.
  3. Shell 1: SELECCIONE LAST_INSERT_ID (), vea el resultado.
  4. Shell 2: INSERT en la misma tabla.
  5. Shell 2: SELECT LAST_INSERT_ID (), vea el resultado diferente del shell 1.
  6. Shell 1: SELECT LAST_INSERT_ID () nuevamente, vea una repetición del resultado anterior.

Si lo piensas, esta es la única forma que tiene sentido. Todas las bases de datos que admiten mecanismos de autoaumento deben actuar de esta manera. Si el resultado depende de una condición de carrera con otros clientes que posiblemente INSERTen al mismo tiempo, entonces no habría una forma confiable de obtener el último valor de ID insertado en su sesión actual.


[seleccione max (primary_key_column_name) from table_name] Ahhh not nessecarily. No soy un chico de MySQL, pero hay una forma específica de obtener la última identificación insertada para la última acción completa que sea un poco más sólida que esta. ¿Qué sucede si ha ocurrido un inserto entre que escribe en la mesa y lo consulta? Lo sé porque me picó hace muchas lunas (así que sí sucede). Si todo lo demás falla, lea el manual: http://dev.mysql.com/doc/refman/5.0/en/getting-unique-id.html