renombrar - modificar una columna de una tabla en mysql
alterar tabla agregar columnas MÚLTIPLES DESPUÉS columna1 (7)
ALTERAR LOS users
TABLA AÑADIR EL COLUMN NAME
COLUMNA COLUMN NAME
DATO (TAMAÑO) DESPUÉS EXISTING COLUMN NAME
DE EXISTING COLUMN NAME
;
Puedes hacerlo con esto, trabajando bien para mí.
Necesito agregar varias columnas a una tabla pero ubicar las columnas después de una columna llamada lastname
.
He intentado esto:
ALTER TABLE `users` ADD COLUMN
(
`count` smallint(6) NOT NULL,
`log` varchar(12) NOT NULL,
`status` int(10) unsigned NOT NULL
)
AFTER `lastname`;
Me sale este error:
Tienes un error en tu sintaxis SQL; consulte el manual que corresponde a la versión de su servidor MySQL para conocer la sintaxis correcta para usar cerca de '') DESPUÉS del
lastname
'' en la línea 7
¿Cómo puedo usar DESPUÉS en una consulta como esta?
Este es correcto:
ALTER TABLE `users`
ADD COLUMN `count` SMALLINT(6) NOT NULL AFTER `lastname`,
ADD COLUMN `log` VARCHAR(12) NOT NULL AFTER `count`,
ADD COLUMN `status` INT(10) UNSIGNED NOT NULL AFTER `log`;
Esto funciona bien para mi:
ALTER TABLE ''users''
ADD COLUMN ''count'' SMALLINT(6) NOT NULL AFTER ''lastname'',
ADD COLUMN ''log'' VARCHAR(12) NOT NULL AFTER ''count'',
ADD COLUMN ''status'' INT(10) UNSIGNED NOT NULL AFTER ''log'';
No puede mencionar varios nombres de columnas con comas usando ADD COLUMN
. Debe mencionar ADD COLUMN
cada vez que defina una nueva columna.
Prueba esto
ALTER TABLE users
ADD COLUMN `count` SMALLINT(6) NOT NULL AFTER `lastname`,
ADD COLUMN `log` VARCHAR(12) NOT NULL AFTER `count`,
ADD COLUMN `status` INT(10) UNSIGNED NOT NULL AFTER `log`;
comprueba la syntax
Si desea agregar una sola columna después de un campo específico, la consulta mysql es:
ALTER TABLE users
ADD COLUMN count SMALLINT(6) NOT NULL
AFTER lastname
Si desea agregar varias columnas, entonces necesita usar el comando ''AGREGAR'' cada vez que ingrese una columna. La consulta mysql de la siguiente manera:
ALTER TABLE users
ADD COLUMN count SMALLINT(6) NOT NULL,
ADD COLUMN log VARCHAR(12) NOT NULL,
ADD COLUMN status INT(10) UNSIGNED NOT NULL
AFTER lastname
Punto a tener en cuenta : en el segundo método, la última columna ADD COLUMN
debería ser la primera columna que desea agregar a la tabla.
por ejemplo: si desea agregar count
, log
, status
en orden después del lastname
, entonces la sintaxis sería:
ALTER TABLE users
ADD COLUMN log VARCHAR(12) NOT NULL,
ADD COLUMN status INT(10) UNSIGNED NOT NULL,
ADD COLUMN count SMALLINT(6) NOT NULL
AFTER lastname
Una posibilidad sería no preocuparse por reordenar las columnas en la tabla y simplemente modificarla agregando las columnas. Luego, cree una vista que tenga las columnas en el orden que desee, asumiendo que el orden es realmente importante. La vista se puede cambiar fácilmente para reflejar cualquier pedido que desee. Como no puedo imaginar que el orden sea importante para las aplicaciones programáticas, la vista debería ser suficiente para aquellas consultas manuales en las que podría ser importante.