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

ayuda borrando varias filas en distintas tablas

Estas en el tema de ayuda borrando varias filas en distintas tablas en el foro de Bases de Datos General en Foros del Web. Hola gente que tal ?, intento hacer algo así: DELETE FROM pedidos_articulos, pedidos WHERE pedidos.user_id=1 AND pedidos_articulos.ref = pedidos.ref Pero el php me tira este ...
  #1 (permalink)  
Antiguo 29/09/2009, 09:21
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
ayuda borrando varias filas en distintas tablas

Hola gente que tal ?, intento hacer algo así:

DELETE FROM pedidos_articulos, pedidos
WHERE pedidos.user_id=1
AND pedidos_articulos.ref = pedidos.ref

Pero el php me tira este error que no consigo arreglar , ¿como puedo borrar de esas dos tablas pedidos_articulos, pedidos del tirón la filas que contengan la misma ref?.

Código:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE pedidos.user_id=3 AND pedidos_articulos.ref = pedidos.ref' at line 2
Gracias de antemano
  #2 (permalink)  
Antiguo 29/09/2009, 09:50
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: ayuda borrando varias filas en distintas tablas

hace unos días preguntaron por un caso similar.
Si estás usando MySQL, la cosa andaría por acá:
Código SQL:
Ver original
  1. DELETE PA
  2. FROM pedidos_articulos PA INNER JOIN pedidos P USING(REF)
  3. WHERE user_id=1;
Esto suponiendo que desees borrar todos los articulos pedidos por el user_id = 1.

Habría que probar:
Código SQL:
Ver original
  1. DELETE PA, P
  2. FROM pedidos_articulos PA INNER JOIN pedidos P USING(REF)
  3. WHERE user_id=1;
Para que borre todo. Si no funciona hay que borrar los pedidos por separado.
Lo que te conviene es un ON DELETE CASCADE en definición de la tabla pedidos_articulos. Es más simple
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 29/09/2009, 09:52
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: ayuda borrando varias filas en distintas tablas

Mira esto dundee

http://www.forosdelweb.com/f86/delet...r-join-738688/

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #4 (permalink)  
Antiguo 29/09/2009, 10:14
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
Respuesta: ayuda borrando varias filas en distintas tablas

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Habría que probar:
Código SQL:
Ver original
  1. DELETE PA, P
  2. FROM pedidos_articulos PA INNER JOIN pedidos P USING(REF)
  3. WHERE user_id=1;
Para que borre todo. Si no funciona hay que borrar los pedidos por separado.
Lo que te conviene es un ON DELETE CASCADE en definición de la tabla pedidos_articulos. Es más simple
Mil gracias me ha funcionado como tu dices.

Un saludo
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 09:29.