Saltar al contenido

¿Cuál es la diferencia entre SERIAL y AUTO_INCREMENT en mysql?

Solución:

Según los documentos

SERIAL es un alias de BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE.

Por lo tanto, tenga cuidado al crear una referencia a un PK SERIAL, ya que esa columna de referencia debe ser de este tipo exacto.

AUTO_INCREMENT es un atributo de una columna específica de cualquier tipo numérico (int o float), tanto con signo como sin signo. Cuando se insertan filas, asigna automáticamente números secuenciales, por lo que no tiene que hacerlo (por ejemplo, utilizando LAST_INSERT_ID()). Ver http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html

SERIAL es un alias que combina fundición de tipo columnaBIGINT específicamente), AUTO_INCREMENT, UNSIGNED y otra atributos para una columna específica (consulte la cita de los documentos a continuación). Ver https://dev.mysql.com/doc/refman/8.0/en/numeric-type-syntax.html

SERIAL es un alias de BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE.

SERIAL DEFAULT VALUE en la definición de una columna de entero es un alias para NOT NULL AUTO_INCREMENT UNIQUE.

Desde mysql doc

SERIAL es un alias de BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE.

SERIAL DEFAULT VALUE en la definición de una columna de entero es un alias para NOT NULL AUTO_INCREMENT UNIQUE.

Si no se especifica ningún valor para la columna AUTO_INCREMENT, MySQL asignó números de secuencia automáticamente. También puede asignar explícitamente NULL o 0 a la columna para generar números de secuencia. MySQL no disminuye automáticamente el valor de autoincremento cuando elimina una fila. Las razones son:

  • Peligro de integridad de datos dañada (imagine que varios usuarios realizan eliminaciones o inserciones … pueden ocurrir entradas duplicadas o algo peor)
  • Pueden ocurrir errores cuando utiliza transacciones o replicación maestro-esclavo
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *