Ver Mensaje Individual
  #4  
Antiguo 03-12-2008
rikrdo04 rikrdo04 is offline
Registrado
 
Registrado: oct 2007
Posts: 1
Reputación: 0
rikrdo04 Va por buen camino
Si bien existe en mysql la opcion de Autoincrement, creo que se podria realizar mediante un trigger... Si alguien sigue esta idea.. aqui les muestro el codigo del trigger que realicé.

Código:
 
...
DECLARE
     id int;
BEGIN
    SELECT MAX(campo1) FROM tbl1 INTO id;
    IF (id>0) THEN
        SET NEW.campo1 = id + 1;
    ELSE
        SET NEW.campo1 = 1;
    END IF;
END
(Para quienes no entiendan el significado de NEW, el trigger se ejecuta antes que se inserte un campo, es decir que todavia no se encuentra en la base de datos, y se hace referencia a los datos que estan por ser insertados mediante NEW. seguido del nombre del campo) .

Bueno eso es el corazón del trigger.. ahora cuando realizo un ingreso mediante la consola el trigger funciona correctamente.
Estoy utilizando delphi2007 con ZEOS 6.1 (si mal no recuerdo) con un mysql 5.. Cuando realizo el POST desde delphi es como que el trigger no se ejecuta..
Me sale un mensaje indicandome que no es posible insertar un valor nulo para el "campo1"..
Si alguien sabe a que se debe o cual es la solucion les estaré agradecidos...
Espero les sirva.
Saludos

Rikrdo.-
Responder Con Cita