Necesito agregar varias columnas a una tabla pero colocar 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:
Tiene un error en su sintaxis SQL; consulte el manual que corresponde a la versión de su servidor MySQL para obtener la sintaxis correcta para usar cerca de ') DESPUÉS
lastname
' en la línea 7
¿Cómo puedo usar DESPUÉS en una consulta como esta?
ALTER TABLE
sintaxis varía un poco entre dialectos.Respuestas:
Prueba esto
verificar la sintaxis
fuente
ADD
,ALTER
,DROP
, yCHANGE
cláusulas están permitidos en una solaALTER TABLE
declaración, separados por comas. Esta es una extensión de MySQL para SQL estándar, que permite solo una de cada cláusula por instrucción ALTER TABLE.Si desea agregar una sola columna después de un campo específico, la siguiente consulta MySQL debería funcionar:
Si desea agregar varias columnas, debe usar el comando 'AGREGAR' cada vez para una columna. Aquí está la consulta MySQL para esto:
Punto a tener en cuenta
En el segundo método, la última
ADD COLUMN
columna debería ser la primera columna que desea agregar a la tabla.Por ejemplo, si desea agregar
count
,log
,status
en el orden exacto despuéslastname
, la sintaxis en realidad sería la siguiente:fuente
count
,log
,status
ocount
,status
,log
?No puede mencionar varios nombres de columna con comas usando
ADD COLUMN
. Debe mencionarADD COLUMN
cada vez que defina una nueva columna.fuente
Este es correcto:
fuente
Puedes hacerlo con esto, trabajando bien para mí.
fuente
Una posibilidad sería no molestarse en reordenar las columnas de la tabla y simplemente modificarla agregando las columnas. Luego, cree una vista que tenga las columnas en el orden que desee, suponiendo que el orden sea 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 aplicaciones programáticas, la vista debería ser suficiente para aquellas consultas manuales en las que podría ser importante.
fuente
Dará buenos resultados.
fuente
Esto funciona bien para mi:
fuente
La solución que funcionó para mí con el valor predeterminado 0 es la siguiente
fuente
Alternativamente:
Los colocará en el orden que desee mientras racionaliza la declaración DESPUÉS.
fuente