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;
Luego, en “move” utilizar el vínculo para mover “name” después de “family”.
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?
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”.