Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Error en borrar un mensaje

Estas en el tema de Error en borrar un mensaje en el foro de Mysql en Foros del Web. Hola a todos . tengo el siguiente problema estoy tratando de eliminar un mensaje de una tabla DELETE FROM MENSAJES_COPIAS WHERE msjc_id = 78 AND ...
  #1 (permalink)  
Antiguo 05/05/2011, 12:43
 
Fecha de Ingreso: noviembre-2010
Ubicación: Barranca
Mensajes: 41
Antigüedad: 13 años, 4 meses
Puntos: 1
Exclamación Error en borrar un mensaje

Hola a todos . tengo el siguiente problema

estoy tratando de eliminar un mensaje de una tabla

DELETE FROM MENSAJES_COPIAS WHERE msjc_id = 78
AND (SELECT COUNT(*) FROM MENSAJES_COPIAS) = 2;

pero me sale el error

you can't spicify target table 'MENSAJES_COPIAS' for update in FROM CLAUSE

espero puedan ayudarme
  #2 (permalink)  
Antiguo 05/05/2011, 13:09
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Error en borrar un mensaje

No puedes leer y actualizar al mismo tiempo una tabla. Y menos borrarla.

¿Para qué haces ese:
Código MySQL:
Ver original
  1. SELECT COUNT(*) FROM MENSAJES_COPIAS
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 05/05/2011, 13:12
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Error en borrar un mensaje

En mySQL no puede seleccionar datos de una tabla que se está actualizando (en tu caso borrando). Para ello, puedes utilizar un rodeo:

Código SQL:
Ver original
  1. DELETE FROM MENSAJES_COPIAS
  2. WHERE msjc_id = 78
  3. AND (SELECT * FROM
  4.  (SELECT COUNT(*)
  5.   FROM MENSAJES_COPIAS) AS X)  = 2;
  #4 (permalink)  
Antiguo 05/05/2011, 13:19
 
Fecha de Ingreso: noviembre-2010
Ubicación: Barranca
Mensajes: 41
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Error en borrar un mensaje

Muchas gracias por contestar mi pregunta ..

GNZSOLOYO gracias , lo hago para poner un ejemplo simplificado de lo que en realidad quería hacer.

ALEXG88 muchisimas gracias, tu respuesta era justo la que estaba buscando ....

gracias a ambos por responder.


hasta luego (Y)

Etiquetas: delete
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:44.