restricciones - tipos de indices en mysql
¿Cómo alterno el tipo de datos de columna de tabla en más de 1 columna? (2)
Por ejemplo:
ALTER TABLE webstore.Store MODIFY COLUMN (
ShortName VARCHAR(100),
UrlShort VARCHAR(100)
);
Lo anterior sin embargo no funciona. Estoy usando MySql 5.x
Use la siguiente sintaxis:
ALTER TABLE your_table
MODIFY COLUMN column1 datatype,
MODIFY COLUMN column2 datatype,
... ... ... ... ...
... ... ... ... ...
Basado en eso, su comando ALTER debería ser:
ALTER TABLE webstore.Store
MODIFY COLUMN ShortName VARCHAR(100),
MODIFY COLUMN UrlShort VARCHAR(100)
Tenga en cuenta que:
- No hay segundos corchetes alrededor de las instrucciones
MODIFY. -
MODIFYdos instruccionesMODIFYseparadas para dos columnas separadas.
Este es el formato estándar de la instrucción MODIFY para un comando ALTER en múltiples columnas en una tabla MySQL.
Eche un vistazo a lo siguiente: http://dev.mysql.com/doc/refman/5.1/en/alter-table.html y modifique varias columnas en una sola declaración
ALTER TABLE puede hacer varias alteraciones de tabla en una instrucción, pero MODIFY COLUMN solo puede funcionar en una columna a la vez, por lo que debe especificar MODIFY COLUMN para cada columna que desee cambiar:
ALTER TABLE webstore.Store
MODIFY COLUMN ShortName VARCHAR(100),
MODIFY COLUMN UrlShort VARCHAR(100);
Además, tenga en cuenta esta advertencia del manual:
Cuando usa CAMBIAR o MODIFICAR, la
column_definitiondebe incluir el tipo de datos y todos los atributos que se deben aplicar a la nueva columna, además de los atributos de índice como PRIMARY KEY o UNIQUE. Los atributos presentes en la definición original pero no especificados para la nueva definición no se transfieren.