En algunos casos, MySQL cambia especificaciones de columnas
          silencioasmente de las dadas en un comando CREATE
          TABLE o ALTER TABLE . Pueden ser
          cambiso a un tipo de datos, a atributos asociados con un tipo
          de datos o a una especificación de índice.
        
Los posibles cambios de tipos de datos se dan en la siguiente lista. Ocurren antes de MySQL 5.0.3. Desde 5.0.3, ocurre un error si no se puede crear una columna usando el tipo de datos especificado.
              Columnas VARCHAR con una longitudo
              menor que cuatro se cambian a CHAR.
            
              Si cualquier columna en una tabla tiene una longitud
              variable, el registro entero pasa a tener longitud
              variable. Por lo tanto, si una tabla contiene cualquier
              columna de longitud variable (VARCHAR,
              TEXT, o BLOB), toda
              columna CHAR con más de tres
              caracteres se cambia a columna VARCHAR
              . Esto no afecta cómo usa las columnas en ningún modo;
              en MySQL, VARCHAR es sólo un modo
              distinto de almacenar caracteres. MySQL realiza esta
              conversión porque ahorra espacio y hacer las operaciones
              de tabla más rápidas. Consulte
              Capítulo 14, Motores de almacenamiento de MySQL y tipos de tablas.
            
              Antes de MySQL 5.0.3, una columna CHAR
              o VARCHAR con una longitud mayor a 255
              se convierte al tipo TEXT más pequeño
              que puede contener valores de la longitud dada. Por
              ejemplo, VARCHAR(500) se convierte en
              TEXT, y
              VARCHAR(200000) se convierte en
              MEDIUMTEXT. Tenga en cuenta que esta
              conversión resulta en un cambio de comportamiento del
              tratamiento de espacios finales.
            
              Conversiones similares ocurren para
              BINARY y VARBINARY,
              excepto que se convierten en tipo BLOB.
            
              Desde MySQL 5.0.3, una columna CHAR o
              BINARY con una longitud mayor a 255 no
              se convierte silenciosamente . En su lugar, ocurre un
              error. Desde MySQL 5.0.6 , la conversión silenciosa de
              columnas VARCHAR y
              VARBINARY con una longitudo mayor a
              65,535 no ocurre si el modo estricto SQL está activado.
              En su lugar, ocurre un error.
            
              Para una especificación de
              DECIMAL(,
              si M,D)M no es mayor que
              D, se ajusta por encima. Por
              ejemplo DECIMAL(10,10) pasa a ser
              DECIMAL(11,10).
            
Otros cambios de columna incluyen cambios de atributos o especficación de índice:
              Los tamaños de muestra de TIMESTAMP se
              descartan. Tenga en cuenta que columnas
              TIMESTAMP han cambiado considrablemente
              en versiones recientes de MySQL anteriores a 5.0; para una
              descripción, consulte Manual de referencia de MySQL 4.1.
            
              Las columnas que son parte de PRIMARY
              KEY son NOT NULL incluso si
              no se declaran como tales.
            
              Los espacios finales se borran automáticamente para
              ENUM y SET cuando se
              crea la tabla.
            
MySQL mapea ciertos tipos de columna usados por otras bases de datos SQL a tipos MySQL . Consulte Sección 11.7, “Usar tipos de columnas de otros motores de bases de datos”.
              Si incluye una cláusula USING para
              especificar un tipo de índice que no sea legal para un
              motor de almacenamiento dado, pero hay otro tipo de
              índice disponible que puede usar el motor sin afectar el
              resultado de la consulta, el motor usa el tipo disponible.
            
          Para ver si MySQL usa un tipo de columna distinto al
          especificado, realice un comando DESCRIBE o
          SHOW CREATE TABLE tras crear o alterar la
          tabla.
        
Otros cambios de tipo de columna pueden ocurrir si comprime una tabla usando myisampack. Consulte Sección 14.1.3.3, “Características de las tablas comprimidas”.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.

