2011-04-26 5 views
0

Possible en double:
Update mysql table on Insert commandRequête mysql trigger. Est-ce correct?

Voici la requête que je utilise pour insérer une nouvelle ligne dans la table send_sms:

DELIMITER $$ 
CREATE TRIGGER before_insert; 

BEFORE UPDATE ON send_sms 

    FOR EACH ROW BEGIN 

    INSERT INTO send_sms 
     (sender, receiver, msgdata) 
    VALUES 
     ('123456', '654321', 'hello trigger') 

    END 

DELIMITER ; 

... avant une requête d'insertion est exécuté sur la table send_sms. Est-ce que je le fais bien? Parce que je ne reçois pas ce que je veux.

+0

que vous souhaitez insérer dans 'send_sms' sur le déclencheur pour insérer avant la même table? –

+0

oui, est-ce impossible? – hsinxh

+0

cela ne fonctionne même pas Si insérer dans une autre table dans la même base de données. – hsinxh

Répondre

1

La requête ne fonctionne pas parce qu'il ya des erreurs de syntaxe, voici la version correcte

DELIMITER $$ 
CREATE TRIGGER after_insert -- remove ; 
AFTER INSERT ON table_first 
    FOR EACH ROW BEGIN 
    INSERT INTO table_second 
     (value1, rvalue2, value3) 
    VALUES 
     ('123456', '654321', 'hello trigger'); -- add ; 
    END 
$$ -- add $$ 

DELIMITER ;