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

 

  1. #1
    Candidat au Club
    Homme Profil pro
    Telecom
    Inscrit en
    avril 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Telecom
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : avril 2018
    Messages : 2
    Points : 3
    Points
    3

    Par défaut Problème lors de la création insert et select

    Bonjour,

    Je suis un débutant dans MySQL , je voudrais savoir si ceci est possible.

    En fait je veux automatiquement inserer dans une table SMSout les données provenant de la table SMSin et une table Pharmacie.

    SVP je suis bloqué et lorsque je lance juste la requete SELECT, le message passe mais en ajoutant INSERT cela ne passe pas.

    Le code est en dessous.

    Cordialement.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    INSERT INTO SMSout (SMSout.id, SMSout.sender,SMSout.receiver, 
                   SMSout.msg,SMSout.senttime,SMSout.receivedtime, 
                   SMSout.reference,SMSout.status,SMSout.msgtype,SMSout.operator) 
            VALUES (SMSin.id,SMSin.receiver,SMSin.sender,
                      (SELECT pharmacie.nom,pharmacie.zone,pharmacie.telephone
                       FROM SMSin, pharmacie WHERE SMSin.msg=pharmacie.zone 
                       ORDER BY SMSin.id 
                       DESC LIMIT 3 ),
                    SMSin.senttime,SMSin.receivedtime,SMSin.reference,
                    'send',SMSin.msgtype,SMSin.operator);

  2. #2
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    décembre 2013
    Messages
    1 962
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : décembre 2013
    Messages : 1 962
    Points : 4 087
    Points
    4 087

    Par défaut

    Pour un Insert, il y a en gros 2 syntaxes :

    Insert into matable (col1, col2) values (val1, val2) ; --> Pour insérer une ligne.

    Insert into matable ( col1, col2) select ... ... --> Pour insérer le résultat d'un select.

    A ma connaissance, on ne peut pas panacher Values et Select dans une même commande. Et ça ne servirait à rien !

    Ici, il faut probablement que tu corriges ton SELECT , pour que l'instruction SELECT renvoie plus de colonnes... Si la table destination a 10 colonnes, l'instruction SELECT doit renvoyer aussi 10 colonnes (dans le bon ordre bien sûr). Et après, l'instruction INSERT sera une formalité.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  3. #3
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    février 2011
    Messages
    3 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : février 2011
    Messages : 3 473
    Points : 10 593
    Points
    10 593

    Par défaut

    Salut Mylil9.

    Citation Envoyé par Mylil9
    je veux automatiquement inserer dans une table SMSout les données provenant de la table SMSin et une table Pharmacie.
    C'est tout à fait possible mais vous vous y prenez mal.
    Pour ce faire, vous devez utiliser un select qui va effectuer vos extractions sur vos deux tables.
    Et le résultat de ce select va servir pour votre insertion, comme ci-après :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    insert into `smsout` (`id`,`sender`,`receiver`,`msg`,`sendtime`,`receivedtime`,`reference`,`statut`,`msgtype`,`operator`)
      select      s.id,
                  s.receiver        as sender,
                  s.sender          as receiver,
                  p.zone            as msg
                  s.senttime,
                  s.receivedtime,
                  s.reference,
                  'send'            as statut,
                  s.msgtype,
                  s.operator
     
            from  SMSIN as s
     
      inner join (  select  zone,
                            nom,
                            telephone
                      from  pharmacie
                  group by  zone
                 )      as p
              on  p.zone = s.msg;
    Dans votre exemple, vous extrayez les colonnes zone, nom et telephone de la table pharmacie. Que désirez-vous avec ?

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  4. #4
    Candidat au Club
    Homme Profil pro
    Telecom
    Inscrit en
    avril 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Telecom
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : avril 2018
    Messages : 2
    Points : 3
    Points
    3

    Par défaut MERCI

    Bonjour,

    Merci de votre aide cela m'a énormément résolu mon problème.

    Encore merci

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 05/08/2009, 12h30
  2. Réponses: 1
    Dernier message: 23/02/2009, 13h31
  3. Réponses: 2
    Dernier message: 21/11/2005, 09h29
  4. Clé étrangère problème lors de la création de la table.
    Par snoopy69 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 18/08/2005, 08h15
  5. Erreur lors d'une requete insert into.. select
    Par Mr N. dans le forum MS SQL-Server
    Réponses: 5
    Dernier message: 04/11/2004, 17h32

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