Ver Mensaje Individual
  #7 (permalink)  
Antiguo 30/08/2011, 12:15
nelson60s
 
Fecha de Ingreso: junio-2007
Mensajes: 8
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: DELETE para varios registros resultantes de un SELECT en otra tabla

Gracias de nuevo gnzsoloyo

Para la nota de la respuesta del motor de MySQL, cambie el nombre de las tablas para no perder el contexto y ahí fue donde escribí mal la clausula USING.

De nuevo la respuesta del motor y la sentencia
Código SHELL:
Ver original
  1. mysql> use contactosmail
  2. Reading table information for completion of table and column names
  3. You can turn off this feature to get a quicker startup with -A
  4.  
  5. Database changed
  6. mysql> DELETE FROM contactos INNER JOIN Eliminar ON contactos.mail = Eliminar.mail USING contactos;
  7. ERROR 1064 (42000): 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 'INNER JOIN Eliminar ON contactos.mail = Eliminar.mail USING contactos' at line 1
  8. mysql>

Recordemos que lo que quiero hacer bien es este proceso
Código MySQL:
Ver original
  1. DELETE FROM contactos WHERE mail IN (SELECT mail FROM Eliminar)

La nota que extraje del manual de MySQl hace referencia, a lo que parece ser una particularidad en la eliminacion de registros en MySQl.
Me gustaría confirmar si es cierto que puede utilizar mucha maquina este tipo de DELETE MULTIPLE o simplemente no lo estoy haciendo de la mejor manera.

En cuanto a la nota de winderj90 que me parece muy a lugar, resulta que estas tablas no tienen indice por que se usan para acumular cargas de datos de diferentes fuentes y no tienen clave alguna.

Gracias por las respuestas sigo buscando.

Última edición por nelson60s; 30/08/2011 a las 13:58