Mysql modificar solo un campo de todas las filas de una tabla

Iniciado por bgnumis, 27 Febrero 2015, 14:46 PM

0 Miembros y 1 Visitante están viendo este tema.

bgnumis

Hola,

Soy totalmente inxeperto y tengo la siguiente duda que supongo será fácil.

Tengo una tabla, con 15 columnas, dni, nombre, años, estudiosetc. Llamada "club".

Me han pasado un fichero ods (equivalente al csv) con el idusuario y en el campo "años" nuevos valores.

¿Sé podría mediante sentencia SQL (mysql) modificar para cada idusuario su campo "años" de forma masiva importando? O Reemplazar los valores anteriores por estos  nuevos sin ir uno a uno?

Un abrazo.


Usuario Invitado

¿Quieres decir que se vaya leyendo el .ods y se vayan actualizando la columna "anyos" de tus tablas de acuerdo al ID?

Ésto debes hacerlo con un lenguaje de programación. No creo que te tome muchas líneas.

La lógica es la sencilla:

1) Cargar en memoria la hoja de cálculo.
2) Leerlo fila por fila y obtener el Id y los años.
3) Hacer una consulta a la BBDD para actualizar el valor "anyos" de las tablas por los años extaídos de la hoja de cálculos.
"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein

Shell Root

Simplemente, descargate la tabla completa y lo pones en un archivo de excel. Ahora, con el archivo que te enviaron lo modificas en su respectiva fila (puedes usar la función BUSCARV para asociar la edad con el usuario), y subir directamente todo el archivo con los valores nuevos con LOAD DATA INFILE.

Será más facil interactuar con excel y solo subir el archivo CSV al MySQL, que crear un procedimiento almacenado para realizar esa acción!
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.