Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Update e insert campos nuevos restantes

Estas en el tema de Update e insert campos nuevos restantes en el foro de Mysql en Foros del Web. Hola, soy nuevo y es mi primer tema, así que espero ser claro con mi pregunta. Tengo una tabla con registros de datos personales de ...
  #1 (permalink)  
Antiguo 06/09/2011, 13:56
Avatar de horacius  
Fecha de Ingreso: septiembre-2011
Ubicación: Viña del Mar
Mensajes: 4
Antigüedad: 8 años, 3 meses
Puntos: 0
Update e insert campos nuevos restantes

Hola, soy nuevo y es mi primer tema, así que espero ser claro con mi pregunta.

Tengo una tabla con registros de datos personales de alumnos de un colegio, los cuáles pueden tener 0, 1 o más hermanos que son alumnos del mismo colegio. Para eso tengo una tabla de relaciones Alumno-Hermanos que guarda el "id_alumno" con un "id_hermano", ambos id's de la misma tabla de alumnos.

El problema lo tengo cuando quiero actualizar la información suponiendo el siguiente caso:

- El alumno "1" tiene asignado el alumno "2" como hermano, pero fue un error de ingreso inicial, y necesito editar la información para asignarle el alumno "3" como hermano, y además asignarle el alumno "4" como un nuevo hermano en la lista de relaciones.

En la tabla de relaciones puedo consultar "WHERE id_alumno=1" para editar, pero al enviar el form de edición el "id_hermano" que era "2" ahora vendrá como "3", entonces no tengo cómo hacer un conteo en la tabla de relaciones de cuáles y cuántos registros deben ser actualizados (UPDATE) y cuáles deben ser ingresados (INSERT) como nuevos.

Agradeceré cualquier ayuda. De antemano muchas gracias.
  #2 (permalink)  
Antiguo 06/09/2011, 22:48
 
Fecha de Ingreso: septiembre-2011
Ubicación: Colombia
Mensajes: 17
Antigüedad: 8 años, 3 meses
Puntos: 2
Mensaje Respuesta: Update e insert campos nuevos restantes

hola, creo que tienes que hacer una actualizacion y un insert porque el alumno 4 no esta en la tabla, para actualizar el caso del alumno 2 tienes que utilizar en la clausula where de actualizacion los dos campos id_alumno e id_hermano, algo parecido a esto

update Alumno-Hermanos set id_hermano=3 where id_alumno=1 and id_hermano=2

me imagino que esos dos campos son la llaven principal

espero haber sido de ayuda...
  #3 (permalink)  
Antiguo 07/09/2011, 20:50
Avatar de horacius  
Fecha de Ingreso: septiembre-2011
Ubicación: Viña del Mar
Mensajes: 4
Antigüedad: 8 años, 3 meses
Puntos: 0
Respuesta: Update e insert campos nuevos restantes

Muchas gracias, hendaviher, por tu respuesta. Al final ya había probado hacer de frentón un DELETE de todos los registros WHERE id_alumno=1, e insertar todos los registros posteados de nuevo.

Después de cranear harto resolví que en realidad lógicamente es imposible actualizar un registro en un id_hermano que "no existe", pues ya viene posteado modificado desde el formulario. Al no saber cuántos son "UPDATE" y cuántos son "INSERT" no se puede hacer un división de consultas SQL según el id_hermano posteado.

No sé si sea una acción muy práctica, pero de todas formas tampoco será una acción muy común a realizar en la BD.

Etiquetas: campos, insert, nuevos, registros, tabla, update
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:23.