Búsqueda de sitios web

MySQL AUTO_INCREMENT con ejemplos


Entendamos cómo funciona ATUO_INCREMENT:

El atributo AUTO_INCREMENT se utiliza para generar una identificación única para nuevas filas. Veamos cómo funciona esta afirmación. Antes de eso, considere la siguiente consulta:

Consulta

CREATE TABLE tableName (
   id MEDIUMINT NOT NULL AUTO_INCREMENT,
   name CHAR(30) NOT NULL,
   PRIMARY KEY (id)
);
INSERT INTO tableName (name) VALUES
(‘val1’),('val2'),('val3'),
('val4');

SELECT * FROM tableName;

Producción

+----+---------+
| id | name    |
+----+---------+
| 1  | val1    |
| 2  | val2    |
| 3  | val3    |
| 4  | val4    |
+----+---------+

En la consulta anterior, no se especificó ningún valor para la columna 'AUTO_INCREMENT', por lo que MySQL asignó una secuencia de números automáticamente a la columna 'id'. También se puede asignar explícitamente un valor de 0 para que la secuencia numérica comience desde 0. Esto solo se puede hacer si el modo SQL 'SIN VALOR AUTOMÁTICO EN CERO' no está habilitado.

  • Si una columna se declara como "NO NULA", es posible asignar NULL a esa columna para generar una secuencia de números.

  • Cuando se inserta cualquier valor en una columna AUTO_INCREMENT, la columna se establece en ese valor y la secuencia también se restablece para que genere valores automáticamente, en el rango secuencial desde el valor de columna más grande.

  • Se puede actualizar una columna 'AUTO_INCREMENT' existente que restablecerá el Secuencia 'AUTO_INCREMENT' también.

  • El 'AUTO_INCREMENT; El valor se puede recuperar usando el Función 'LAST_INSERT_ID()' en SQL o usando 'mysql_insert_id()' que es una función API de C.

  • Estas funciones son específicas de la conexión, lo que significa que sus valores de retorno no se ven afectados por otras conexiones que realizan las operaciones de inserción.

  • Se puede utilizar el tipo de datos entero más pequeño para la columna 'AUTO_INCREMENT', que sería lo suficientemente grande como para contener el valor de secuencia máximo requerido por el usuario.

  • Cuando la columna alcanza el rango superior del tipo de datos, se realiza otro intento de generar una secuencia de números. Pero esto falla.

Por lo tanto, utilice el atributo UNSIGNED si es posible para permitir un mayor rango de valores en la columna de valores AUTO_INCREMENT.