Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/09/2009, 21:16
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: delete con inner join

Ni en la versión 5 ni en la 5.1 me ha funcionado. gnzsoloyo en el link que pones no hacen uso en ninguna parte de la sentencia inner join, sino de delete con múltiples tablas. esto se muestra como un error de sintaxis.

Cita:
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:

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

DELETE FROM t1, t2 USING t1, t2, t3 WHERE t1.id=t2.id AND t2.id=t3.id;
Estos comandos usan las tres tablas al buscar registros a borrar, pero borrar los registros coincidentes sólo para las tablas t1 y t2.

Los ejemplos anteriores muestran inner joins usando el operador coma, pero comandos DELETE de varias tablas pueden usar cualquier tipo de join permitido por comandos SELECT tales como LEFT JOIN.
Aunque diga que permite multiples sentencias join, siempre genera error de sintaxis al tratar de hacerlo como propones.

La forma como me ha funcionado (en parte) es:

Código sql:
Ver original
  1. DELETE tblg,tbl FROM tbllogrosxgrado tblg,tbllogros tbl WHERE tblg.id_logro=tbl.id_logro

El problema es que elimina todos los registros que hayan entre las tablas. si le pongo la condición and identificacion='1036606448';
saca un error de integridad referencial.

Insisto en el uso de on delete cascade

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Última edición por huesos52; 27/09/2009 a las 06:44