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

Langage SQL Discussion :

Requete pour ajouter des lignes à ma table


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Points : 52
    Points
    52
    Par défaut Requete pour ajouter des lignes à ma table
    Bonjour à tous,

    je voudrais une requête qui me permet d'ajouter des lignes à ma table (INSERT INTO ... VALUES ...?)
    Cependant mes valeurs ne sont pas toutes les memes et il y en a plus de 1000.

    voici ma table module_in_site à laquelle je veux ajouter mes lignes:

    moduleInSite_id | prodInSite_id | nom_outil | license | nb_user
    moduleInSite_id est ma clé primaire auto-incrémentale.
    prodInSite_id est la clé primaire de ma table prod_in_site décris ce-dessous.
    un prodInSite_id apparait dans plusieurs moduleInSite_id.
    nom_outil est la valeur que je veux ajouter à tout mes prodInSite_id.
    license est le numéro de license de chaque prodInSite_id
    nb_user est le nombre d'utilisateur de chaque prodInSite

    table prod_in_site :

    prodInSite_id | licence | nb_user
    prodInSite_id est ma clé primaire auto-incrémentale
    license est le numéro de license
    nb_user est le nombre d'utilisateur

    je voudrais donc :

    ajouter autant de moduleInSite_id qu'il existe de prodInSite_id (environ 1000) avec pour valeur :
    moduleInSite_id incrémenté (environ 1000 fois)
    prodInSite_id toutes les valeurs de prodInSite_id différentes (environ 1000)
    nom_outil défini ( = 'cahier_des_charges')
    license le numéro de license du prodInSite_id
    nb_user le nombre d'utilisateur du prodInSite_id

    j'ai trouvé cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT INTO 'module_in_site' ('moduleInSite_id', 'prodInSite_id', 'nom_outil', 'license', 'nb_user')
    VALUES ('23089', '1', 'cahier_des_charges', 'df6788', '80')
    VALUES ('23090', '2', 'cahier_des_charges', 'df6996', '140')
    etc ... mais je dois tout faire manuellement et il y a 1000 lignes à ajouté ...

    quelqu'un aurait une idée ??
    Merci de votre aide, bon début de semaine à tous

    ++

  2. #2
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Points : 52
    Points
    52
    Par défaut
    Même si la solution est difficile,
    est-ce que c'est possible à faire?
    peut-être auriez vous une petite idée.
    j'ai parcouru les cours du site mais je ne trouve rien ni dans les INSERT INTO ni dans les SET...

    Help me ...

  3. #3
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    J'ai un doute sur le fait que vous ayez vraiment cherché, néanmoins :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    INSERT INTO moduleInSite (prodInSite_id, nom_outil, license, nb_user)
    SELECT
        prodInSite_id,
        'cahier_des_charges',
        licence,
        nb_user
    FROM prod_in_site
    http://sqlpro.developpez.com/cours/sqlaz/dml/#LII

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Points : 965
    Points
    965
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    un prodInSite_id apparait dans plusieurs moduleInSite_id.
    Et comment sait-on à quel moduleInSite_id appartient un prodInSite_id?

    En passant, vous n'avez pas précisé votre SGBD.

    EDIT : s'il y a une solution simple à votre problème, ce sera celle proposée par Waldar. Je trouve que votre explication est un peu embrouillée

  5. #5
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Points : 52
    Points
    52
    Par défaut
    #1241 - Operand should contain 1 column(s)

    voici l'erreur retourné

    un prodInSite_id peut apparatenir à plusieurs moduleInSite
    j'ai environ 1000 prodInSite_id pour plus de 30000 moduleInSite_id

    ma SGBD est MySQL

    c'est ok simple pb de parenthese

    résolu merci

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

Discussions similaires

  1. Simuler une jointure pour ajouter des champs à une table
    Par Camelia17 dans le forum DataStage
    Réponses: 0
    Dernier message: 28/01/2015, 16h18
  2. [AC-2003] Ajouter des lignes à une tables depuis Excel
    Par DonKnacki dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 17/12/2010, 16h04
  3. Requete pour trouver des liens entre tables
    Par titemimine dans le forum Requêtes
    Réponses: 3
    Dernier message: 24/02/2010, 09h26
  4. [WD14] Thread qui ajoute des lignes à une table
    Par rndhnqz dans le forum WinDev
    Réponses: 11
    Dernier message: 09/02/2010, 12h48
  5. Réponses: 14
    Dernier message: 22/09/2005, 16h49

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