Mostrando entradas con la etiqueta PHP. Mostrar todas las entradas
Mostrando entradas con la etiqueta PHP. Mostrar todas las entradas

Cómo establecer auto incremento en SQL con phpMyAdmin


Una práctica habitual en la creación de bases de datos es establecer claves primarias (o Primary Keys, PKs) con la opción de auto incremento. De esta manera, no hay que preocuparse por especificar un valor numérico único de clave primaria cada vez que se inserte una nueva fila en la tabla.


Pese a que phpMyAdmin es una herramienta de gestión de bases de datos muy útil y fácil de usar, muchas verces oigo la pregunta de dónde especificar el auto incremento en phpMyAdmin. He aquí la solución:


En las últimas versiones de phpMyAdmin hay una nueva casilla llamada A_I. No hay más que marcar esta opción al crear o editar la columna de la tabla que contendrá la clave primaria, y ese campo numérico incrementará automáticamente su valor cada vez que se inserte una nueva fila.


Auto incremento en phpMyAdmin

Para comprobar que la propiedad de auto incremento se configuró correctamente, no hay más que mirar en la columna EXTRA dentro de las propiedades de la columna de la clave primaria de la tabla (tras haber seleccionado la tabla, y dentro de la sección de estructura, Structure). Si en extra aparece el texto auto_increment, la configuración del incremento automático fue exitosa.


Sin embargo, en versiones más antiguas de phpMyAdmin, el auto incremento se configuraba de forma diferente, editando directamente estas propiedades extra de la columna. La opción de auto_increment se encontraba dentro de un menú desplegable en la categoría EXTRA (la última columna en el menú de creación de campos).


Para poder acceder a este menú de edición de columnas de la tabla no hay más que hacer clic en el icono del lápiz en la fila de la estructura (dentro de la solapa Structure) que se corresponde con la columna de la tabla que se desea editar.


En cualquier caso, siempre se puede ejecutar una sencilla consulta SQL para actualizar el estado de la columna y habilitar el auto incremento. Desde phpMyAdmin sólo hay que seleccionar la solapa marcada como SQL y escribir una sentencia SQL como la siguiente:

ALTER TABLE `nombre_tabla`
    CHANGE `nombre_columna_pk` `nombre_columna_pk`
           INT(longitud_clave) NOT NULL AUTO_INCREMENT

Sólo hay que reemplazar "nombre_tabla" por el nombre de la tabla que se está editando, "nombre_columna_pk" por el nombre de la columna que contiene la clave primaria, y "longitud_clave" por la longitud del número usado como clave primaria (el valor por defecto para un entero, int, es la longitud 11).


Si necesita asegurarse de que el campo que se está auto-incrementando es de hecho la clave primaria de la tabla actual, se puede volver a asignar la clave primaria de la tabla pulsando en el icono de llave correspondiente a la fila del campo deseado.


Hay que tener en cuenta que sólo puede especificarse un campo con auto incremento por cada tabla en MySQL. Por otra parte, el incremento automático sólo tiene sentido con claves primarias numéricas, y sólo puede haber una clave primaria en cada tabla MySQL.


Por último, si lo que desea es cambiar el valor del auto incremento en phpMyAdmin (por ejemplo, para que el campo de auto incremento comience en un número concreto), sólo hay que seleccionar la solapa Operations (operaciones) en phpMyAdmin, y escribir en el campo llamado AUTO_INCREMENT el nuevo valor inicial del campo con auto incremento y guardar los cambios.

El problema de MySQL desactivado en XAMPP


Instalar XAMPP es una forma rápida de tener configurado y funcionando un servidor Apache con PHP y bases de datos MySQL.


Pero en ocasiones, debido a algún tipo de problema de configuración de MySQL, XAMPP da un error y no es posible arrancar el servicio MySQL. Si se comprueba el estado de las bases de datos utilizando el panel de control de XAMPP (status), se observará un mensaje de advertencia como el siguiente: "MySQL database DEACTIVATED" (base de datos MySQL DESACTIVADA).


Cómo activar MySQL en XAMPP en 2 pasos


Aunque no estoy seguro de las causas exactas de este error, hay un truco para repararlo rápidamente y activar MySQL en XAMPP con 2 pasos sencillos:

  • En primer lugar, no instale MySQL como un servicio de Windows que se arrancaría por defecto junto con el sistema operativo. Ésta es una opción durante la instalación de XAMPP: simplemente hay que dejar sin marcar la casilla de instalar las bases de datos MySQL como un servicio del sistema.

  • Finalmente, cree un archivo de configuración MySQL para la nueva instalación de MySQL (lo cual puede hacerse automáticamente con Win MySQL admin).

En efecto, existe una forma automática de generar un archivo de configuración MySQL básico usando las herramientas instaladas por defecto en XAMPP. Sólo hay que ir a la [carpeta de instalación de XAMPP] / mysql / bin y ejecutar winmysqladmin.exe. En el cuadro de diálogo habría que escribir un nuevo nombre de usuario y contraseña, y dejar que el programa de gestión de MySQL genere automáticamente el archivo de inicialización MySQL por defecto.


¡Y eso es todo! Con desactivar el arranque inicial de MySQL como servicio de Windows por defecto, y crearle un archivo de configuración MySQL por defecto, con un nombre de usuario y contraseña definidos, debería bastar para cambiar el estado de "MySQL database deactivated" a MySQL database ACTIVATED (base de datos MySQL ACTIVA).


Cómo comprobar el estado activo de MySQL


El estado de las bases de datos MySQL puede comprobarse abriendo el panel de control de XAMPP: el servicio de MySQL debería tener ahora una etiqueta verde al lado con el mensaje running (en ejecución).


Aunque Win MySQL Admin resultó útil para crear un archivo .ini básico, no es necesario seguir utilizando el programa una vez que el servicio MySQL está activo. Win MySQL Admin es una aplicación antigua y no actualizada, que además lanza a veces errores de Windows aleatorios.


Pero no hay problema: basta con cerrar la ventana de ese gestor de MySQL, y usar la aplicación phpMyAdmin que viene instalada por defecto dentro de XAMPP.


La prueba final consiste en abrir phpMyAdmin para comprobar el estado activo de las bases de datos MySQL.


Puede accederse a phpMyAdmin a través del menú principal del servidor Apache instalado con XAMPP. Es necesario arrancar el servidor Apache, abrir la página principal del servidor usando el navegador web (basta con escribir "localchost" en la barra de direcciones y con la configuración por defecto de XAMPP) y pulsar en el enlace a phpMyAdmin para comprobar que las bases de datos MySQL han pasado a estado activo.


Espero que estos trucos sean de ayuda para activar sus bases de datos MySQL en XAMPP, de modo que pueda aprovechar las ventajas que este paquete ofrece para programar y probar en local MySQL y PHP.