l'insertion des valeurs dans plus de deux table en utilisant une requête
-
23-09-2019 - |
Question
est-il possible d'insérer des valeurs dans différentes tables en utilisant la requête mysql ??
Pas de solution correcte
Autres conseils
Oui, mais vous avez besoin pour créer des fonctions personnalisées qui insèrent des valeurs à d'autres tables comme un effet secondaire.
L'idée de base est que vous voulez insérer le résultat de la fonction dans la table que vous insérez d'autres données
insert into table (resulting_value) values (my_function(parameters))
Vous pouvez en savoir plus sur fonctions stockées de la documentation MySQL
Il n'y a pas un requête qui peut le faire, mais en supposant que vous travaillez avec PHP, vous pouvez obtenir la clé primaire de la dernière ligne insérée à l'aide mysql_insert_id()
puis vous pouvez construire la deuxième requête avec ce domaine.
vous pourriez peut-être faire en utilisant un déclencheur (s) (à savoir que vous émettez une instruction d'insertion SQL et les insertions suivantes sont effectuées dans la base de données), tant que
- les valeurs d'insertion suivantes peuvent être dérivées de la valeur de l'insert précédent
- ne vous dérange pas vivre avec les problèmes qu'une telle approche pourrait donner lieu à des messages d'erreur (ne sait pas quand un déclencheur tombe en panne, les échecs d'insertion silencieux, les problèmes de performance etc.etc.)
La commande Insert
permet une seule table cible pour les données à insérer ...
INSERT INTO target_table () VALUES();
peut être fait une bonne solution tout en utilisant les triggers.