Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/10/2011, 11:32
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: se puede hacer este delete?

Hola timoteo666:

En un delete no puedes hacer JOIN's... si necesitas utilizar múltiples tablas debes hacer las uniones en el WHERE...

Checa la sintaxis del DELETE;

http://dev.mysql.com/doc/refman/5.0/es/delete.html

Ahora bien, si entendí qué es lo que quieres hacer es eliminar de la Tabla1 todos los id's que existan en la tabla2 correcto??? esto podrías hacerlo más o menos así:

Código MySQL:
Ver original
  1. mysql> CREATE TABLE tabla1 (id INT, descripcion VARCHAR(10));
  2. Query OK, 0 rows affected (0.08 sec)
  3.  
  4. mysql> INSERT INTO tabla1 VALUES (1, 'uno'), (2, 'dos'), (3, 'tres');
  5. Query OK, 3 rows affected (0.03 sec)
  6. Records: 3  Duplicates: 0  Warnings: 0
  7.  
  8. mysql> SELECT * FROM tabla1;
  9. +------+-------------+
  10. | id   | descripcion |
  11. +------+-------------+
  12. |    1 | uno         |
  13. |    2 | dos         |
  14. |    3 | tres        |
  15. +------+-------------+
  16. 3 rows in set (0.00 sec)
  17.  
  18.  
  19. mysql> CREATE TABLE tabla2 (id INT, descripcion VARCHAR(10));
  20. Query OK, 0 rows affected (0.07 sec)
  21.  
  22. mysql> INSERT INTO tabla2 VALUES (2, 'dos'), (3, 'tres');
  23. Query OK, 2 rows affected (0.07 sec)
  24. Records: 2  Duplicates: 0  Warnings: 0
  25.  
  26. mysql> SELECT * FROM tabla2;
  27. +------+-------------+
  28. | id   | descripcion |
  29. +------+-------------+
  30. |    2 | dos         |
  31. |    3 | tres        |
  32. +------+-------------+
  33. 2 rows in set (0.00 sec)
  34.  
  35. mysql> DELETE T1.* FROM Tabla1 T1, Tabla2 T2 WHERE T1.id = T2.id;
  36. Query OK, 2 rows affected (0.04 sec)
  37.  
  38. mysql> SELECT * FROM tabla1;
  39. +------+-------------+
  40. | id   | descripcion |
  41. +------+-------------+
  42. |    1 | uno         |
  43. +------+-------------+
  44. 1 row in set (0.00 sec)

Dale un vistazo a ver si es lo que quieres hacer.

Saludos
Leo.