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

Requêtes MySQL Discussion :

Requête fonctionnant sur une version 4.1 mais pas 4.0


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 84
    Points : 56
    Points
    56
    Par défaut Requête fonctionnant sur une version 4.1 mais pas 4.0
    Bonjour,
    Je suis actuellement en train de faire un site sur le langage des fleurs et je rencontre un problème lorsque j'héberge mon site. En effet, je travaille avec la version 4.1 de MySQL et la version de MySQL de mon hébergeur est la 4.0
    Le problème survient lorsque je veux exécuter cette requête

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT DISTINCT signification_bouquet, lien_img_bouquet, nom_bouquet, nom_fleur, composition_bouquet.id_fleur, nb_fleur, composition_bouquet.id_bouquet
    FROM bouquet, fleur, composition_bouquet
    WHERE composition_bouquet.id_bouquet
    IN (
     
    SELECT bouquet.id_bouquet
    FROM bouquet
    WHERE signification_bouquet LIKE 'a%'
    )
    AND fleur.id_fleur = composition_bouquet.id_fleur
    AND composition_bouquet.id_bouquet = bouquet.id_bouquet
    Le message d'erreur est le suivant
    #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 'select bouquet . id_bouquet from bouquet where signification_bo

    Si quelqu'un pouvait m'aider ce serait vraiment sympa !!
    Merci d'avance !!

  2. #2
    Membre averti Avatar de makmaoui
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    283
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2007
    Messages : 283
    Points : 368
    Points
    368
    Par défaut
    Salut, je ne sais pas si c'est la cause de l'erreur mais tu peux optimiser ta requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT DISTINCT signification_bouquet, lien_img_bouquet, nom_bouquet, nom_fleur, composition_bouquet.id_fleur, nb_fleur, composition_bouquet.id_bouquet
    FROM bouquet, fleur, composition_bouquet
    WHERE 
     fleur.id_fleur = composition_bouquet.id_fleur
    AND composition_bouquet.id_bouquet = bouquet.id_bouquet
    AND bouquet.signification_bouquet LIKE 'a%'
    tu n'as pas besoin d'utiliser une sous requête qui mange de la ressource ...

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 84
    Points : 56
    Points
    56
    Par défaut
    Merci beaucoup çà a l'air de fonctionner

  4. #4
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 031
    Points : 23 763
    Points
    23 763
    Par défaut
    Bonjour,

    L'erreur provenait de la sous-requête. Les sous-requêtes n'ont été introduites qu'à partir de la version 4.1 de MySQL.
    Comme quoi, ça a du bon de passer un peu de temps à optimiser ses requêtes .

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  5. #5
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 84
    Points : 56
    Points
    56
    Par défaut
    Ok merci beaucoup

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

Discussions similaires

  1. Un regex qui fonctionne sur les testeurs en ligne, mais pas dans mon code
    Par billybobbonnet dans le forum Développement Windows
    Réponses: 4
    Dernier message: 28/01/2015, 17h20
  2. Réponses: 2
    Dernier message: 18/06/2013, 19h38
  3. Problème de lenteur sur une proc avec EF mais pas sur la base
    Par Oberown dans le forum Entity Framework
    Réponses: 0
    Dernier message: 14/02/2013, 16h49
  4. [Google Maps] Fonctionne sur IE, Firefox, Chrome, iOS mais pas Safari
    Par kfa1983 dans le forum APIs Google
    Réponses: 0
    Dernier message: 05/06/2011, 23h42
  5. Réponses: 0
    Dernier message: 03/04/2008, 15h14

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