Ver Mensaje Individual
  #10 (permalink)  
Antiguo 26/06/2013, 09:52
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: eliminar campos

Hola de nuevo josue07pearl:

Compañer@... no esperes encontrar una respuesta sólo para copiar y pegar que sea exactamente lo que quieres... te he dado las pistas necesarias para que hagas la consulta, pero tal pareciera que así como no te tomas el tiempo suficiente como para escribir un post te más de dos renglones, tampoco te tomas el tiempo suficiente como para leer con detenimiento la ayuda que se te proporciona... Mucho ojo con eso...

En la liga que te puse está textualmente este párrafo:

Cita:
Puede especificar múltiples tablas en un comando DELETE para borrar registros de una o más tablas dependiendo de una condición particular en múltiples tablas. Sin embargo, no puede usar ORDER BY o LIMIT en un DELETE de múltiples tablas.

La parte table_references lista las tablas involucradas en el join. Esta sintaxis se describe en Sección 13.2.7.1, “Sintaxis de JOIN”.

Para la primera sintaxis, sólo los registros coincidentes de las tablas listadas antes de la cláusula FROM se borran. Para la segunda sintaxis, sólo los registros coincidentes de las tablas listadas en la cláusula FROM (antes de la cláusula USING ) se borran. El efecto es que puede borrar registros para varias tablas al mismo tiempo y tienen tablas adicionales que se usan para buscar:

Código:
DELETE t1, t2 FROM t1, t2, t3 WHERE t1.id=t2.id AND t2.id=t3.id;
O:

Código:
DELETE FROM t1, t2 USING t1, t2, t3 WHERE t1.id=t2.id AND t2.id=t3.id;
Observa cómo tienes que referenciar las tablas que se van a a eliminar.

Ahora bien, debes tener MUCHO CUIDADO al hacer este tipo de eliminaciones, pues si lo haces mal corres el riesgo de eliminar información que de más con los problemas que eso conlleva...

Siempre es recomendable que hagas un SELECT para ver que la información que te está regresando la consulta es la que quieres eliminar y a partir de eso, buscas su equivalencia con el DELETE... por ejemplo, si haces esto:

Código MySQL:
Ver original
  1. SELECT * FROM organizacion, oproductos WHERE id_org = '$id_eliminar'

Que es lo que estás intentando eliminar, en realidad estás realizando un PRODUCTO CARTESIANO entre tus tablas, ya que no estás indicando ninguna relación entre tus tablas, es decir algo como

Código:
organizacion.campo = oproductos.campo
si dices que tus tablas no están relacionadas entonces ¿cómo es que que pretendes hacer una eliminación con una sola consulta?

Saludos
Leo.