MySQL - Como crear un Trigger para copiar un usuario en otra tabla

   
Vista:
Imágen de perfil de Jorge

Como crear un Trigger para copiar un usuario en otra tabla

Publicado por Jorge (1 intervención) el 05/06/2014 17:56:42
Hola me encuentro creando un foro con un CMS que contiene chat pero este solo funciona con la lista de amigos de cada usuarios, mi intención es que todos los usuarios registrados puedan aparecer en la lista de chat y para eso necesito que en el momento de registrarse un usuario este no solo se inserte en la tabla de usuarios si no tambien en la tabla donde estan vinculadas las amistades, por lo que quiero crear una función he pensado en un triggers que cuando se inserte un usuario en la tabla user este inserte una solicitud de amistad en la tabla de amistades a todos los usuarios registrados hasta el momento.

Por favor si alguien me puede ayudar, lo voy a agradecer.
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
Imágen de perfil de xve

Como crear un Trigger para copiar un usuario en otra tabla

Publicado por xve (898 intervenciones) el 05/06/2014 20:42:56
Hola Jorge, crear un triger en MySQL es tan sencillo como:

1
2
3
4
5
6
CREATE TRIGGER nuevoUsuario AFTER INSERT ON `Usuario`
    FOR EACH ROW
    INSERT INTO nuevaTabla
    (campos)
    VALUES
    (valores);

Cada vez que se añade un registro en la tabla Usuario, se añadirá un registro en la tabla nuevaTabla

Para poner los valores añadidos en la tabla Usuario, se utiliza NEW.campo... por ejemplo, si en la tabla Usuario hay un campo que se llama nombre y el mismo queremos utilizar en la tabla nuevaTabla, tendriamos que hacer referencia a el como NEW.nombre... algo así:

1
2
3
4
5
6
CREATE TRIGGER nuevoUsuario AFTER INSERT ON `Usuario`
    FOR EACH ROW
    INSERT INTO nuevaTabla
    (fecha, nombreUsuario)
    VALUES
    (NOW(), NEW.nombre);

Espero que te sirva de ayuda...

Coméntanos, ok?
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