Tecnología

Inicio

Cómo seleccionar el último incremento automático de MySQL en PHP

MySQL proporciona un tipo de datos que se incrementa automáticamente cada vez que se agrega un registro a una tabla. Este incremento automático funciones de elementos como la clave principal de una tabla. Se puede seleccionar el último registro de incremento automático usando PHP ejecutando una consulta MySQL para seleccionar LAST_INSERT_ID (), y luego se ejecuta otra consulta para seleccionar el registro con ese valor de incremento automático. Si está usando PHP para insertar registros en una tabla, se puede obtener el valor de incremento automático para el último registro insertado llamando mysql_insert_id ().

Instrucciones

Usar MySQL LAST_INSERT_ID ()

1 Crear un nuevo archivo PHP usando un editor o el Bloc de notas. Conectar con el servidor de base de datos y abra la base de datos. Por ejemplo, escriba:

<? Php

$ DBC = mysql_connect ( "localhost", "nombre de usuario", "contraseña") or die (mysql_error ());

$ Db = mysql_select_db ( "base de datos") or die (mysql_error ());

2 Obtener el valor de LAST_INSERT_ID () seleccionándolo en la tabla que contiene el campo de incremento automático. Por ejemplo, escriba:

$ query = "SELECT LAST_INSERT_ID () a partir de states AS id ";

$ Resultado = mysql_query ($ consulta) or die (mysql_error ());

$ Fila = mysql_fetch_assoc ($ resultado);

$ = $ Última fila [ "id"];

3 Ejecutar una consulta para seleccionar datos para el registro con el último valor de incremento automático e imprimir los datos. Por ejemplo, escriba:

$ consulta = sprintf ( "SELECT de states DONDE id ="% s " ', $ última);

$ Resultado = mysql_query ($ consulta) or die (mysql_error ());

$ Fila = mysql_fetch_assoc ($ resultado);

printf ( "Datos para el registro con el último valor de incremento automático de% d: \ r \ n", $ última);

print_r ($ fila);

last_auto_increment uso de PHP

4 Crear una clase para mantener una estructura de datos que refleja la estructura de base de datos. Por ejemplo, escriba:

Estado de la clase {

public $name, $capital, $bird;

__construct función pública ($ nombre, capital de $, $ pájaro) {

$ This-> name = $ nombre;

$ This-> = capital de capital de $;

$ This-> = $ ave ave;

}

}

5 Rellenar una matriz con los datos que desea insertar en la base de datos. Por ejemplo, escriba:

$ Estados = array ();

$ estados [ "NH"] = new Estado ( "New Hampshire", "Concord", "pinzón púrpura");

$ estados [ "OH"] = nuevo Estado ( "Ohio", "Columbus", "cardenal");

estados $ [ "IN"] = new Estado ( "Indiana", "Indianápolis", "cardenal");

6 Iterar a través de la matriz de valores e insertarlos en la tabla de base de datos. Por ejemplo, escriba:

foreach ($ estados como estado $) {

$ consulta = sprintf ( "INSERT INTO states ( id , abbrev , name , capital , bird ) VALUES (NULL,"% s ","% s ","% s ","% s ") ', $ declaración> abreviatura, $ declaración> nombre, $ declaración> de capital, $ declaración> aves);

$ Resultado = mysql_query ($ consulta) or die (mysql_error ());

printf ( "registro insertado con el valor auto-incremenet% d", mysql_insert_id ());

}

?>

Consejos y advertencias

  • Si la última inserción fue una inserción de múltiples filas, MySQL devuelve el primer valor de incremento automático utilizado para el grupo, por lo que el inserto se puede replicar en otro servidor.