MySQL - Ayuda para dominar los triggers (me dominan a mi)

 
Vista:

Ayuda para dominar los triggers (me dominan a mi)

Publicado por xavi (1 intervención) el 06/01/2007 20:07:37
Gracias de antemano por vuestra atencion... hace poco que estoy explorando las posibilidades de los disparadores en MYsql. Me gustaría saber si es posible que un disparador modifique la MISMA tabla sobre la que esta actuando un proceso. Es decir... supongamos..que visualmente tenemos unos campos para rellenar datos,y el trigger cuando detecta una nueva entrada en la tabla rellena el campo fecha automaticamente que esta a NULL por que no lo pedimos introducir visualente para facilitar las cosas.

Tenía pensado algo así:

CREATE TRIGGER nombre_del_disparador BEFORE INSERT ON nombre_tabla
FOR EACH ROW
BEGIN
IF OLD.nombre_campo =NULL' THEN
SET NEW.nombre_campo =NOW()';
END IF;
END;//

Tal vez..viendo el codigo sabeis que pretengo hacer mas claramente, la cuestion es..que este codigo en concreto... no funciona.Por eso apelo a vuestros conocimientos y buen juicio a ver si me podeis resolver mi duda.

Muchas gracias a todos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda para dominar los triggers (me dominan a m

Publicado por Luis Roberto Palacios (2 intervenciones) el 08/02/2007 22:33:57
Hola...

En vez de utilizar un trigger para lo que quieres utiliza el tipo de campo TIMESTAMP, este campo es automatico, y la fecha se carga en el automaticamente cuando insertas una nueva columna.

Por cierto... en un trigger cuando para un evento INSERT no puedes ocupar el parametro OLD. Solo se permite NEW. (Obiamente porque no hay valores anteriores)

Espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar