l'insertion des valeurs dans plus de deux table en utilisant une requête

StackOverflow https://stackoverflow.com/questions/2145455

  •  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

  1. les valeurs d'insertion suivantes peuvent être dérivées de la valeur de l'insert précédent
  2. 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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top