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

SQL Procédural MySQL Discussion :

Créer 4000 enregistrements dans une tables auto-incrementées


Sujet :

SQL Procédural MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8
    Par défaut Créer 4000 enregistrements dans une tables auto-incrementées
    Bonsoir,
    Je souhaiterai connaitre la requete SQL afin de créer 4000 enregistrements auto-incrementés dans une table vierge, exp :

    Nom de la table : jos_xxx_emn

    id userid status popup remindersent
    1 1 0 0 2
    ....
    4000 4000 0 0 2

    Merci pour votre aide !

  2. #2
    Membre émérite
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Par défaut
    Salut,

    Le plus simple reste quand même une procédure stockée avec une boucle !

    Sinon, tu utilises une grosse table déjà existante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO t
    SELECT NULL, 0, 0, 2
    FROM grosseTable
    LIMIT 4000
    Bref : bidouille

  3. #3
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for($i = 1; $i <= 4000; $i ++){
    mysql_query("INSERT INTO tabase (userid, status, popup, remindersent )
    VALUES ('$i', 0, 0, 2)");
    }
    je précise que le champ id est PRIMARY_KEY auto_increment
    donc on a pas besoin de l'inserer

  4. #4
    Membre éclairé Avatar de Space Cowboy
    Homme Profil pro
    chomeur
    Inscrit en
    Avril 2005
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Avril 2005
    Messages : 496
    Par défaut
    J'imagine que l'userid sera différent de l'ID.

  5. #5
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Citation Envoyé par Space Cowboy
    J'imagine que l'userid sera différent de l'ID.
    ben, il a dit :
    1 . 1 . 0 . 0 . 2
    jusqu'à
    4000 . 4000 . 0 . 0 . 2
    il semblerait que l'user_id soit le meme que l'id ??
    je ne vois pas à quoi ça sert mais bon ...

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8
    Par défaut
    J'ai viens d'essayer :

    FOR($i = 1; $i <= 4000; $i ++){
    mysql_query("INSERT INTO tabase (userid, status, popup, remindersent )
    VALUES ('$i', 0, 0, 2)");
    }

    Mais ca ne fonctionne pas, voici l'erreur :
    Erreur

    requête SQL :

    FOR (

    $i =1

    MySQL a répondu:


    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FOR($i = 1' at line 1

    En effet, les champs id et userid doivent avoir les memes chiffres !
    et le champs ID est configuré :

    Champ Type Interclassement Attributs Null Défaut Extra Action
    id int(11) UNSIGNED Non auto_increment


    Merci pour votre aide

  7. #7
    Membre émérite
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Par défaut
    Le code que N1bus t'a donné est un code PHP, et ne s'exécute donc pas tel quel sur MySQL

  8. #8
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    la boucle FOR était une boucle PHP.

    Je pensais que tu executais cela depuis ton programme PHP.

    Qu'as tu utilisé pour envoyer la requete ?

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8
    Par défaut
    Dans phpmyadmin !

  10. #10
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    mets le code tel-quel dans un fichier avec les balises PHP, la connexion et parametres de ta base, enregistre le fichier puis place le sur ton serveur et enfin, tape l'url de la page pour exécuter les requetes

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8
    Par défaut
    Ok, mais il n'est pas possible de directement tapper une requette sql dans phpmyadmin ?

  12. #12
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par zonekris
    Ok, mais il n'est pas possible de directement tapper une requette sql dans phpmyadmin ?
    Oui c'est possible en utilisant une procédure stockée. (MySQL 5).

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8
    Par défaut
    Je suis novice, merci de me donner la syntaxe complete

  14. #14
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    ben c'est dans le lien que Guardian_7 t'a donné :
    http://dev.mysql.com/doc/refman/5.0/fr/stored-procedure-syntax.html

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8
    Par défaut
    Sorry d'insister, mais c trop complique vos trucs!!
    Moi je voulais executer une requette SQL directement dans l'interface PhpMyadmin ! comme je fais d'habitude, merci à tous pour la solution

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/05/2009, 11h05
  2. Réponses: 1
    Dernier message: 22/12/2005, 09h03
  3. [WD9] Cliquer sur des enregistrements dans une table
    Par oz80 dans le forum WinDev
    Réponses: 2
    Dernier message: 15/12/2005, 20h11
  4. Nombre d'enregistrement dans une table MySQL
    Par tom06440 dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 21/10/2005, 19h07
  5. AJOUT d'un ENREGISTREMENT dans UNE TABLE
    Par ramo dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/08/2005, 16h24

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