Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/11/2010, 21:55
Avatar de gnzsoloyo
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, 5 meses
Puntos: 2658
Respuesta: insert to utilizando ID del mismo

Me temo que como auto_increment, lo que quieres hacer es imposible, o al menos es inútil ponerlo como auto_increment si lo vas a usar así.
El auto_increment es un valor que se genera sobre la tabla en el momento de la inserción. Tal es así que la función LAST_INSERT_ID(), que es la que te devuelve el valor generado, tiene valor cero (0) si la usas en un TRIGGER sobre la tabla, incluso si lo pones AFTER INSERT.
Por otro lado, si quieres el valor antes de insertarlo, ¿qué sentido tiene que sea auto_increment? Para eso lo usas simplemente como INT y obtienes el valor a ingresar con un SELECT de tipo:
Código MySQL:
Ver original
  1. SELECT (MAX(tabla_id) + 1) sig_id FROM tabla;
Si pones esto antes del INSERT y colocas todo dentro de una transacción, no deberías tener problemas y sería mucho más sencillo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)