2011-03-24 3 views
0

bonjour ' ' si je crée un déclencheur dans mysql maintenant je veux mettre à jour une table un champ lorsque l'insertion de données dans la table b se produit ... alors comment puis-je faire cela pour cet utilisateur spécifique que je veux savoir comment puis-je utiliser session_id dans les déclencheurs ou s'il y a un autre moyen de le faire. 'session dans les déclencheurs

grâce

Répondre

0

Le déclencheur suivant va insérer une ligne dans table_b pour chaque insert qui se déroule dans le tableau B.
Les champs nouvellement insérés de table_a sont accessibles par l'alias new.

CREATE 
    TRIGGER ai_tableb_each AFTER INSERT 
    ON table_b FOR EACH ROW 
BEGIN 
    DECLARE vUser_id varchar(255); 
    DECLARE vConnection_id integer;  

    SET vUser_id = current_user(); 
    SET vConnection_id = connection_id(); 

    INSERT INTO table_b 
    (field_a, f_user, f_connection) 
    VALUES (
     new.field_a 
     , vUser_id 
     , vConnection_id 
    ); 
END 

Notez que les variables déclarées ne sont pas vraiment nécessaires, mais vous voudrez peut-être faire une action en fonction de l'utilisateur ou l'identifiant de connexion.