2011-07-12 4 views
0

Ok, j'ai une table appelée moteurs. Quand quelque chose est inséré dans cette table, je veux qu'un déclencheur soit lancé pour récupérer la dernière ligne ajoutée à la table, obtenir les champs id, description, partnum, puis insérer ces champs dans une autre table appelée latest.MySQL Trigger Avec select

Comment est-ce que j'écrirais ceci?

grâce

+0

Avez-vous essayé de créer quelque chose vous-même ou vous attendez quelque chose que vous allez copypasser et oublier pour toujours? –

Répondre

2
CREATE TRIGGER my_trigger AFTER INSERT ON motors 
FOR EACH ROW 
INSERT INTO latest (motor_id, motor_description, motor_partnum) 
    VALUES (NEW.id, NEW.description, NEW.partnum); 

Bien, je me sens obligé de vous dire que si vous êtes juste essayer de générer une liste des moteurs les plus récents, il sera plus facile de maintenir si vous sélectionnez juste le X nouveaux moteurs de la table des moteurs.

+0

Donc, si je vous lis bien, NEW.id, NEW.description, NEW.partnum sont les champs de la table moteur après son insertion? – SeeleyBoothe

+0

La raison pour laquelle je demande est que le champ id est un numéro automatique et n'est pas transmis lorsque la table est insérée. – SeeleyBoothe

+0

Oui, il suffit de changer le '.id',' .description', etc pour correspondre à vos noms de champs réels –