2012-05-23 19 views
33

Quiero cambiar las posiciones de las columnas de la tabla de mi base de datos sin perder datos.¿Cómo cambiar la posición de la columna de la tabla MySql sin perder los datos de la columna?

Por ejemplo:

tabla actual:

+----+------+-------+----------+ 
| id | name | email | password | 
+----+------+-------+----------+ 

a

+----+----------+------+-------+ 
| id | password | name | email | 
+----+----------+------+-------+ 
+4

Por qué es estera ter? –

+5

Qué comentario '¿Por qué es importante? Porque a algunas personas les gusta usar' SELECT * 'y convertir esto de una matriz a una tabla? –

+0

@Bondye La única razón para cambiar el orden de las columnas es ponerlas en un orden que sea más fácil de leer para el usuario. El cambio que necesita realmente no hace eso, es básicamente lo mismo. Y las consultas con 'SELECT *' ya son un signo de mal SQL. –

Respuesta

65

Inténtelo así:

ALTER TABLE table_name MODIFY password varchar(20) AFTER id

+0

¿lo has comprobado? – Addicted

+0

Para ser sincero, no he comprobado esto. Pero trabajaré. – Hearaman

+0

gracias, está funcionando bien. –

8

La respuesta de Hearaman es correcta; pero si usa phpMyAdmin, hay una forma visual y práctica de hacerlo.

  1. abrir la tabla
  2. Selecciona la pestaña "Estructura"
  3. Haga clic en los nombres de columna "columnas Mover"
  4. Arrastrar y soltar

Move columns link, middle of the Structure tabMove columns popup

+0

Cómo diablos se encuentra la opción "mover columna". –

+0

@SouravSarkar debe estar justo debajo de la tabla que muestra la estructura. Sin embargo, pueden existir diferencias de versiones. –

+0

¿En qué versión viste la opción? –

Cuestiones relacionadas