Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2983 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] Ajout de multiples enregistrements avec trigger

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MySQL] Ajout de multiples enregistrements avec trigger

n°2306627
Furaxx
Posté le 13-10-2017 à 11:58:10  profilanswer
 

Bonjour,
 
J'utilise dont MySQL et le trigger que je souhaite faire "utilise" 3 tables, que voici (avec juste les champs nécessaires ici):
 
- table APPLIS, avec un "id" Auto_Increment et un "nom" varchar(32)
- table "USERS", avec un "id" Auto_Increment et un "nom" varchar(32)
- table "users2applis", avec un "id" Auto_Increment, un "id_users" et un "id_applis" (avec clés étrangères sur les ID des applis et users
 
Ma table "APPLIS" contient déjà tout ce qu'il faut.
Je souhaiterais par contre, lors de l'ajout d'un "user", qu'un trigger ajoute dans la table "users2applis" l'ID du l'utilisateur couplé aux ID de toutes les applications présentes dans la table "APPLIS".
Je pourrais le faire "manuellement" dans mon code PHP mais je me dit qu'avec un trigger ça peut éviter des erreurs, et ça me permet aussi de voir comment ça fonctionne.
C'est sans doute simple mais je débute et les didactiels que j'ai pu voir pour le moment ne me sont pas d'une grande utilité...
 
Par avance merci, et ça me sera utile pour d'autres tables ensuite.

mood
Publicité
Posté le 13-10-2017 à 11:58:10  profilanswer
 

n°2306633
pluj
Posté le 13-10-2017 à 13:46:21  profilanswer
 

Il faut donc que ton trigger déclenche cette requête :

Code :
  1. INSERT INTO users2applis(id_applis, id_users)
  2.    SELECT id, NEW.id FROM APPLIS
  3. ;


?
 
Soit :

Code :
  1. DELIMITER //
  2.  
  3. CREATE TRIGGER users_after_insert
  4.    AFTER INSERT ON USERS
  5.    FOR EACH ROW
  6. BEGIN
  7.    INSERT INTO users2applis(id_applis, id_users)
  8.        SELECT id, NEW.id FROM APPLIS
  9.    ;
  10. END;//
  11.  
  12. DELIMITER ;


 
(syntaxe à vérifier)


Message édité par pluj le 13-10-2017 à 13:48:09
n°2306635
Furaxx
Posté le 13-10-2017 à 14:02:48  profilanswer
 

Tout bêtement?!
 
Je pensais que le INSERT/SELECT n'enregistrait pas plusieurs lignes mais seulement une seule, du coup, j'ai un peu honte... :D
 
Je vais donc essayer ça, merci!

n°2306638
Furaxx
Posté le 13-10-2017 à 14:30:08  profilanswer
 

Après essai ça fonctionne sans problème.
Merci!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] Ajout de multiples enregistrements avec trigger

 

Sujets relatifs
PYTH COUNT MYSQL.ConnectorAjout nouveau module+sauvegarde en BD
éliminer des enregistrements via des cases à cocherajout d'une valeur dans résultat d'une requête d'une autre table
Sondage de satisfaction avec Mysql[résolu]problème comparaison Php/MySql
Questions multiples HTML/PHP/SQLServeur Mysql
[PERL/MySQL] Utilisation d'une variable dans la clause WhereId absolu et Id relatif dans la même table MySQL
Plus de sujets relatifs à : [MySQL] Ajout de multiples enregistrements avec trigger


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR