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

Ayuda con DELETE en 2 tablas segun condicion

Estas en el tema de Ayuda con DELETE en 2 tablas segun condicion en el foro de Mysql en Foros del Web. Hola gente, me he aquí intentando fallidamente armar una consulta de borrado para registros que residen en 2 tablas diferentes. Presento la estructura con algunos ...
  #1 (permalink)  
Antiguo 30/03/2006, 13:40
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 18 años, 8 meses
Puntos: 2
Ayuda con DELETE en 2 tablas segun condicion

Hola gente, me he aquí intentando fallidamente armar una consulta de borrado para registros que residen en 2 tablas diferentes.

Presento la estructura con algunos datos de ejemplo:

Código:
Tabla: session_ids

      id         |      time
    0001                1000
    0002                 500

Tabla: session_vars

     id          |     name        |        value
    0001                xxx                  xxx
    0001                yyy                  yyy
    0001                zzz                  zzz
    0002                aaa                  aaa

Mi intención es que la consulta me elimine de ambas tablas aquellos registros cuyo campo "time" sea igual a 1000. Entonces en este caso me debería borrar de las tablas session_ids y session_vars todos los registros cuyo id sea 0001.

Armé varios intentos que no expongo debido a que no creo que sean de deamasiada utilidad ya que los errores de sintaxis que me arrojaba MySQL eran espantosos
Por si sirve de algo mi versión de MySQL es 4.0.12 (osea sin consultas anidadas si no me equivoco) y lamentablemente no hay posibilidades de migrar a la 5.xxx.

Se agradece de antemano cualquier ayuda.

Les dejo saludos.
__________________
R4DS en español | R4DS en inglés

Última edición por zaqpz; 30/03/2006 a las 13:46
  #2 (permalink)  
Antiguo 30/03/2006, 17:31
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 18 años, 8 meses
Puntos: 2
Hola gente, bueno solucioné esto de manera provisoria pasando las tablas (que eran MyISAM) a InnoDB y agregando una clave foránea con actualización y borrado en cascada en el id de session_vars.

Se agredece de todas formas si me ayudan con el armado de una consulta que haga esto con MyISAM (si es que es posible) simplemente para salirme de la duda.

Les dejo saludos.
__________________
R4DS en español | R4DS en inglés
  #3 (permalink)  
Antiguo 30/03/2006, 19:12
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 9 meses
Puntos: 24
haszlo en dos DELETE separados, ¿cual es el motivo de hacerlo directamente en una sola consulta?
__________________
http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux
  #4 (permalink)  
Antiguo 30/03/2006, 21:42
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 18 años, 8 meses
Puntos: 2
Hola TotalWare, te agradezco por tu respuesta.

Realmente no era problema de armar dos cosultas o las necesarias, el tema era que no se como armar esas consultas ya que en la tabla uno puede haber muchos ids con time=1000 y no se me ocurre como saber luego que ids tengo que borrar de la 2º tabla. Se me ocurria una solucion que era mediante un SELECT anidado en un DELETE, pero la versión de MySQL que dispongo en mi servidor no me lo permite.

Por ahora va lo mas bien con las InnoDB, asique el problema se puede decir que está solucionado.

Saludos!
__________________
R4DS en español | R4DS en inglés
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 17:47.