IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 MySQL Discussion :

Créer une boucle de requêtes MySql pour générer un grand nombre d'enregistrements


Sujet :

MySQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Août 2008
    Messages : 19
    Points : 18
    Points
    18
    Par défaut Créer une boucle de requêtes MySql pour générer un grand nombre d'enregistrements
    bonjour!
    Je souhaiterai mettre en place une boucle qui permette de générer un grand nombre d'enregistrements par la requête INSERT. Précisément, j'ai plusieurs attributs numériques entiers dont je voudrais générer automatiquement toutes les combinaisons.

    J'ai jeté un coup d'oeil à l'utilisation procédurale de MySql, mais ça ne semble pas être la solution.
    Il me faudrait peut-être utiliser le langage PHP, ou Javascript?
    En ce cas, comment exécuter ce fichier? J'ai regardé un peu la syntaxe nécessaire pour le PHP.

    Merci bien pour votre réponse.

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    Inspire toi de ce billet de SQLPro.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Août 2008
    Messages : 19
    Points : 18
    Points
    18
    Par défaut solution
    Je me suis inspiré de ce message sur SQLpro, et j'ai écrit le code suivant, qui fonctionne bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    INSERT INTO `table`(`j1`,`j2`,`j3`,`j4`,`j5`,`j6`,`j7`)
    SELECT T1.`j1`, T2.`j2`, T3.`j3`, T4.`j4`, T5.`j5`, T6.`j6`, T7.`j7`
    FROM `microcycles` AS T1
    INNER JOIN `table` AS T2
    INNER JOIN `table` AS T3
    INNER JOIN `table` AS T4
    INNER JOIN `table` AS T5
    INNER JOIN `table` AS T6
    INNER JOIN `table` AS T7
    ON T1.`j1`>0 AND T2.`j2` >0 AND T3.`j3`>0 AND T4.`j4`>0 AND T5.`j5`>0 AND T6.`j6`>0 AND T7.`j7`>0
    Ce code agit alors qu'il y a déjà dans la table comme des vecteurs normés : un vecteur avec tous ses champs à 0 sauf le j1 à 1, puis le j1 à 2,...puis le j2 à 1, ...
    C'est une famille génératrice de tout l'ensemble, en quelque sorte.

    Le seul hic, c'est que je dois créer 10^7 combinaisons. Pour 4^7, ça passe. Mais je suis passé directement à 10 après. Je vais donc y aller progressivement, et si je ne peux pas faire autrement que de bloquer PhpMyAdmin , je tâcherai de le faire en plusieurs fois, en faisant attention à n'oublier aucun cas.

    En tout cas, merci beaucoup pour le tuyau.

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    Plutôt que d'être pénalisé par les limites de temps de phpMyAdmin, tu peux passer une procédure SQL directement dans la console MySQL.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Créer une boucle pour copie des tableaux de plusieurs feuilles sur une seule
    Par rvtoulon dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 22/09/2009, 17h12
  2. Aide pour créer une boucle
    Par laroche1 dans le forum MATLAB
    Réponses: 2
    Dernier message: 04/12/2007, 15h51
  3. créer une boucle d'attente pour de l'ajax
    Par Ceubex dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/08/2007, 22h46
  4. Réponses: 21
    Dernier message: 23/05/2007, 16h16
  5. Comment faire pour créer une boucle ?
    Par Arko76 dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 02/04/2007, 17h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo