Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/07/2013, 08:52
Avatar de stramin
stramin
 
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Eliminar registros segun otro registro

Hola estimados:

Tengo una tabla con una id donde inserto registros "temporales" usando una id negativa, por ejemplo

id info
2 john
3 james
4 johnny
5 jeremy
6 jimmy
-5 jeremy
-3 james

donde los registros -5 y -3 son registros temporales modificados.

Lo que intento hacer es eliminar los registros positivos que tengan su respectivo negativo, o sea eliminar los registros 3 y 5, para lo que hice esta consulta:

Código MySQL:
Ver original
  1. DELETE FROM tabla   WHERE id IN (SELECT -id FROM tabla WHERE id<0)

Pensaba que todo iría bien, sin embargo me da este mensaje de error:

#1093 - You can't specify target table 'table' for update in FROM clause

supongo que no puedo eliminar registros leyendo la misma tabla que estoy eliminando

Como lo harían ustedes?

Gracias por su ayuda!
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D