MySQL: Secuencia (AUTO_INCREMENT)

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

MySQL: Secuencia (AUTO_INCREMENT)

Este tutorial de MySQL explica cómo Crear una secuencia Use el atributo AUTO_INCREMENT en MySQL con sintaxis y ejemplos.

describir

En MySQL, puede usar el atributo AUTO_INCREMENT para crear columnas que contengan secuencias de números (1, 2, 3, etc.). Utilice el atributo AUTO_INCREMENT cuando necesite crear un número único como clave principal en una tabla.

sintaxis

La sintaxis para crear una secuencia (o usar el atributo AUTO_INCREMENT) en MySQL es:

CREATE TABLE table_name
( 
  column1 datatype NOT NULL AUTO_INCREMENT,
  column2 datatype [ NULL | NOT NULL ],
  ...
);

AUTO_INCREMENT Propiedad utilizada cuando desea que MySQL asigne automáticamente una serie de números a un campo (esencialmente, creando un campo de numeración automática). NULL o NOT NULL Cada columna debe definirse como NULL o NOT NULL. Si se omite este parámetro, la base de datos asume NULL como valor predeterminado.

notas

  • Puede usar la función LAST_INSERT_ID para encontrar el último valor asignado por el campo AUTO_INCREMENT.

ejemplo

Veamos un ejemplo de cómo usar la secuencia o atributo AUTO_INCREMENT en MySQL.

Por ejemplo:

CREATE TABLE contacts
( contact_id INT(11) NOT NULL AUTO_INCREMENT,
  last_name VARCHAR(30) NOT NULL,
  first_name VARCHAR(25),
  birthday DATE,
  CONSTRAINT contacts_pk PRIMARY KEY (contact_id)
);

Este ejemplo de MySQL AUTO_INCREMENT crea una tabla llamada contactos con 4 columnas y una clave principal:

  • La primera columna, llamada contact_id, se crea como tipo de datos INT (longitud máxima de 11 bits) y no puede contener valores NULL. Está configurado en un campo AUTO_INCREMENT, lo que significa que es un campo de numeración automática (comienza en 1 y se incrementa en 1, a menos que se especifique lo contrario).
  • La segunda columna, llamada last_name, es un tipo de datos VARCHAR (hasta 30 caracteres) y no puede contener valores NULL.
  • La tercera columna, llamada first_name, es un tipo de datos VARCHAR (hasta 25 caracteres) y puede contener valores NULL.
  • La cuarta columna se llama Cumpleaños, que es un tipo de datos de FECHA y puede contener valores NULL.
  • La clave principal se llama contactos_pk y se establece en la columna contact_id.

Establecer el valor inicial de AUTO_INCREMENT

Ahora que ha creado una tabla con el atributo AUTO_INCREMENT, ¿cómo cambia el valor inicial del campo AUTO_INCREMENT si no desea comenzar en 1?

Puede usar la declaración ALTER TABLE para cambiar o establecer el siguiente valor asignado por AUTO_INCREMENT.

sintaxis

En MySQL, la sintaxis para cambiar el valor inicial de una columna AUTO_INCREMENT usando la sentencia ALTER TABLE es:

ALTER TABLE table_name AUTO_INCREMENT = start_value;

table_name El nombre de la tabla cuyo valor AUTO_INCREMENT desea cambiar. Dado que una tabla en MySQL solo puede contener una columna AUTO_INCREMENT, solo necesita especificar el nombre de la tabla que contiene la secuencia. No necesita especificar el nombre de la columna que contiene el valor AUTO_INCREMENT. start_value El siguiente valor en la secuencia que se asignará en la columna AUTO_INCREMENT.

ejemplo

Veamos un ejemplo de cómo cambiar el valor inicial de una columna AUTO_INCREMENT en una tabla en MySQL.

Por ejemplo:

ALTER TABLE contacts AUTO_INCREMENT = 50;

Este ejemplo de MySQL AUTO_INCREMENT cambiará el siguiente valor en el campo AUTO_INCREMENT (es decir, el siguiente valor en la secuencia) a 50 para el campo contact_id en la tabla de contactos.

Otros tutoriales relacionados

Aquí hay algunos otros tutoriales para ayudarlo a aprender más sobre secuencias en MySQL: