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 :

Plusieur Condition dans REquette UPDATE


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2004
    Messages : 15
    Points : 8
    Points
    8
    Par défaut Plusieur Condition dans REquette UPDATE
    Bonjour,
    Voila mon problemme j'ai une base de données MySQL que j'utilise à partir
    de Java mais mon problemme c'est que je dois faire un update sur cette base mais impossible de mettre deux condition
    En fait à l'heure actuelle je cherche a faire ca :
    UPDATE couperegula SET serie="8963", position="203" WHERE nom="martin" AND prenom="Jacques" ;

    ce qui me posse problemme c'est justement la fin :
    WHERE nom="martin" AND prenom="Jacques
    Je sais qu'avec le and ca ne marche pas j'ai essayé de mettre une virgules mais la non plus ca ne fonctionne pas.

    Dans la table je n'est pas de numero ID.

    Comment faire ?
    Merci

  2. #2
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String taRequete="UPDATE couperegula SET serie=\"8963\", position=\"203\" WHERE nom=\"martin\" AND prenom=\"Jacques\"";
    Peut-etre un oubli de guillemet

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2004
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Non les guillemets c'est bon je l'ai est mis mais la j'ai juste mis
    la requette au format SQL comme si je la tapait dans PHPMyAdmin ou dans ligne de commande.

    Merci comme meme

  4. #4
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    sa te met quoi comme erreur?

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2004
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Sytaxe invalide

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    A en juger par l'article sur décrivant l'utilisation du mot clé UPDATE ce problème ne vient pas de ton SGBD mais de la requête elle-même.

    Tu peux nous donner la requête que tu intègres à ton code JAVA et celle que tu utilises dans dans PHPMyAdmin (pour les 2 tu obtiens le même message d'erreur de syntaxe incorrecte ?) ?
    Modérateur des forums Oracle et Langage SQL
    Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum

  7. #7
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    La norme SQL voudrait trouver cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    UPDATE couperegula 
    SET    serie='8963', position='203' 
    WHERE  nom='martin' 
      AND  prenom='Jacques'
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2004
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    J'ai deja éssayé ca.

    La requette que je mets dans PHPMyAdmin et Java et celle ci :

    UPDATE couperegula SET serie="8963", position="203" WHERE nom="martin" AND prenom="Jacques" ;

  9. #9
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Pardon de te bousculer mais Java n'a rien avoir avec tout ça lol. Déjà essaye de faire ta requête dans ta console normale ensuite on se mêlera de Java, lui il ne respecte que ce que le SGBD lui dit de respecter... Donc ca ne dépend sûrement pas de Java.

    Effectivement, la syntaxe SQL exige des ' et non des " ! C'est très important, d'ailleurs, je travaille actuellement sur 4 SGBD (Oracle, SQL Server, Interbase et Firebird). J'ai aussi travaillé sous Access et un peu sur MySQL et je te certifie que ça a toujours été des ' !!

    Donc déjà pour commencer, fait tes essais avec des '.

    Ensuite essaye d'abord tes requêtes sous forme de SELECT :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT serie, position FROM couperegula WHERE nom='martin' AND prenom='Jacques'
    Et peut-être même un ; à la fin de celle-ci.

    Ensuite si cette requête fonctionne on s'attaque aux UPDATE avec un seul champ.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE couperegula SET serie='8963 WHERE nom='martin' AND prenom='Jacques'
    (Toujours dans la console bien sûr et toujours un ; si tu as dû en mettre un à ta première requête)

    Si celle-ci fonctionne alors essaye ce que Médiat t'as dis, sinon essaye ta requête avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE FROM couperegula SET serie='8963' WHERE nom='martin' AND prenom='Jacques'
    On ne sait jamais... Et enfin si cela fonctionne, essaye avec les deux champs.

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2004
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Effectivement, la syntaxe SQL exige des ' et non des " ! C'est très important, d'ailleurs, je travaille actuellement sur 4 SGBD (Oracle, SQL Server, Interbase et Firebird). J'ai aussi travaillé sous Access et un peu sur MySQL et je te certifie que ça a toujours été des ' !!
    Désolé mais les " marche très bien avec MySQL c'est très utile pour les noms avec des apostrophes c'est d'ailleur pour ca que j'ai convertit tout mon code source PHP et Java qui fonctionnait avant avec des ' et qui maintenant fonctionne tout aussi bien avec des " avec en plus la possibilité de mettre des ' dans les nom (ex:"L'hay les roses").

    Mais bon j'ai comme meme essayé de testé ce que tu ma indiqué les 2 premiere fonctionne très bien (avec des ' et avec des " ) mais la 3eme ne fonctionne pas il faut enlevé le FROM qui genere une erreur voila ce que j'ai éxécuté:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE couperegula2005 SET serie = "19",
    codeclub = "T9" WHERE nom = "AHAH" AND prenom = "jean"

    J'ai donc éxécuté cette ligne via plusieur interface:
    PHPMyAdmin, MySQL Querry Browser , Java , Console
    L'erreur qu'il me renvoi vien du AND , il m'indique que ca passe donc c'est super mais je ne comprend pas bien d'ou vien l'erreur de ce matin

    C'est preque la meme chose que j'ai ecrit ce matin dons mon premier post mais sans le 2005 après couperegula mais ca c'etait une erreur de frappe j'ai vérifié et dans mon programme java il y a bien couperegula2005

    Je ni comprend plus rein mais merci de votre aide
    Et encore une fois pour pas ce prendre la tete à détecté des apostrophe dans les string utilisé plutot des " c'est plus simple et ca marche aussi bien


    Ca y est : J'ai compris le problemme
    En fait dans mon code java la requette que je construissait avait une derniere virgule juste avant le WHERE donc c'est pour ca que MySQL me renvoyait une erreur comme je faisait des copier colé de la requette que generait java je ne me suis pas rendu compte de ce qui clochait.

    Bref Je vous remercie tous de m'avoir bien aidé
    A bientot et merci

  11. #11
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    PS : pour les apostrophes en SQL il suffit de les doubler :

    nom='l''ami', ça passe très bien

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2004
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Ah ok je ne savais pas merci de cette info.

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2004
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Ah ok je ne savais pas merci de cette info.

Discussions similaires

  1. Plusieurs conditions dans un while
    Par laloune dans le forum Macros et VBA Excel
    Réponses: 29
    Dernier message: 11/01/2008, 17h44
  2. [Bash] mettre plusieurs conditions dans un while
    Par arnaudperfect dans le forum Shell et commandes GNU
    Réponses: 13
    Dernier message: 22/07/2007, 22h44
  3. Validation de plusieurs conditions dans un EVALUATE
    Par apokrif dans le forum Cobol
    Réponses: 4
    Dernier message: 29/03/2007, 23h28
  4. Plusieurs SET Dans un UPDATE
    Par vinci dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/05/2006, 11h30
  5. plusieurs SET dans un UPDATE ?
    Par magic charly dans le forum Langage SQL
    Réponses: 4
    Dernier message: 21/04/2006, 17h26

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