MySQL – Error: You can’t specify target table xxx for update in FROM clause

Jueves, Diciembre 17, 2009 0:27
Posted in category Tips

Hace unos mins estuve jugando con una consulta en MySQL para poder insertar el orden de la búsqueda :

INSERT INTO Tabla (nombre,fecha,texto,orden) values ('".$nombre."','".$fecha."','".$texto."',(select max(orden)+1 from Tabla))

pero me dió el error:
You can’t specify target table ‘Tabla’ for update in FROM clause
El error se da tanto en count, min, max
La solución simple es hacer un select desde una tabla “falsa” con un alias, mejor dicho en SQL:

INSERT INTO Tabla (nombre,fecha,texto,orden) values ('".$nombre."','".$fecha."','".$texto."',(
select max(orden)+1 from (select * from Tabla) as mi_tabla_falsa)
)

Creo que no es necesario explicar el códig, ¿o sí?

Nota Mental: Leer esto cuando tenga el mismo error :B

saludos!

You can leave a response, or trackback from your own site.

One Response to “MySQL – Error: You can’t specify target table xxx for update in FROM clause”

  1. Dnl says:

    Diciembre 23rd, 2009 at 07:09

    Wena brede !!!!!!!

Leave a Reply