mysql obtient last_insert_id () dans un trigger
C'est ma compréhension que lorsque vous appelez last_insert_id (), il va par des connexions, de sorte que vous allez obtenir l'id de la dernière ligne insérée sur la même connexion où last_insert_id() est appelée, non?
De sorte que si je l'appelle, last_insert_id (), dans un "INSÉRER APRÈS" trigger?
Ce que je veux faire, c'est essentiellement ce
DELIMITER $$
CREATE TRIGGER sometrigger
AFTER INSERT ON sometable
BEGIN
INSERT INTO anothertable (id, lastup) VALUES (last_insert_id(), NOW());
END $$
Il est très important que l'id en 'anothertable' est la même que dans "sometable'
Serait-ce de travailler ou devrais-je créer une procédure stockée à la place qui s'insère dans les deux tables?
Ou, éventuellement, il y en a, dans le déclencheur, pour obtenir les valeurs de l'instruction insert qui a provoqué le déclenchement de l'incendie? Je n'ai rien trouvé à ce sujet.
source d'informationauteur Steinthor.palsson | 2011-06-27
Vous devez vous connecter pour publier un commentaire.
Vous devriez être en mesure d'utiliser
NEW.{id column name}
pour consulter le dernier id inséré (ainsi, par exempleNEW.id
si l'incrément automatique de la colonne est appeléeid
.)