alter table agregar VARIAS columnas DESPUÉS DE columna1
Necesito agregar varias columnas a una tabla pero posicionar 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`;
Obtengo este error:
Tiene un error en su sintaxis SQL; consulte el manual que corresponde a su versión del servidor MySQL para la sintaxis correcta a utilizar near') AFTER
lastname
' at line 7
¿Cómo puedo usar AFTER en una consulta como esta?
7 answers
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`;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-07-09 06:32:39
Si desea agregar una sola columna después de un campo específico, entonces la consulta mysql es:
ALTER TABLE users
ADD COLUMN count SMALLINT(6) NOT NULL
AFTER lastname
Si desea agregar varias columnas, debe usar el comando 'ADD' cada vez para 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, el último ADD COLUMN
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 de lastname
, entonces el la sintaxis sería en realidad:
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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-16 08:59:49
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`;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-13 10:10:14
No puede mencionar varios nombres de columna con comas usando ADD COLUMN
. Debe mencionar ADD COLUMN
cada vez que defina una nueva columna.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-15 23:08:55
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 desea, asumiendo que el orden es realmente importante. La vista se puede cambiar fácilmente para reflejar cualquier pedido que desee. Dado que no puedo imaginar que el orden sea importante para las aplicaciones programáticas, la vista debería ser suficiente para aquellas consultas manuales donde podría ser importante.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-07-09 06:30:16
ALTER TABLE users
ADD COLUMN
COLUMN NAME
TIPO DE DATOS (TAMAÑO) DESPUÉS DE EXISTING COLUMN NAME
;
Puedes hacerlo con esto, trabajando bien para mí.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-09-08 07:22:45
Esto funciona bien para mí:
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';
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-16 09:52:57