es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Valor predeterminado de columna eliminado después de la migración.

Tengo 3 columnas y establecí “family” como NULL:

+----+-------+--------+
| ID | name  | family |
+----+-------+--------+

mysql> test

CREATE TABLE `test` 
( 
    `id` INT NOT NULL , 
    `name` VARCHAR(100) NOT NULL ,
    `family` VARCHAR(100) NULL DEFAULT NULL 
) ENGINE = InnoDB;

Imagen en línea

Luego, en “move” utilizar el vínculo para mover “name” después de “family”.

descripción de la imagen

Esto provoca que se elimine el valor predeterminado de la columna “family”!

  • Versión de phpMyAdmin: 4.9.1
  • Apache/2.4.46 (Win64) OpenSSL/1.1.1h PHP/8.0.0

¿Por qué sucedió esto?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Esto ocurrió porque cuando se utiliza el enlace “mover” para mover una columna, en realidad se altera la estructura de la tabla al renombrar la tabla original, se crea una nueva tabla con el nuevo orden de columnas y luego se copian los datos de la tabla original a la nueva tabla. Durante este proceso, se pierde el valor predeterminado de la columna “familia” porque no se especifica en la estructura de la nueva tabla. Para evitar esto, se debe establecer explícitamente el valor predeterminado de la columna “familia” nuevamente después de utilizar el enlace “mover”.

Comments are closed.