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 :

[MySQL] Problème de syntaxe dans suppression doublons


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 30
    Points : 22
    Points
    22
    Par défaut [MySQL] Problème de syntaxe dans suppression doublons
    bonjour, je n'arrive pas à trouver l'erreur de syntaxe que m'affiche MySQL lorsque j'exécute une requète pour supprimer les doublons comme spécifié dans le guide http://sqlpro.developpez.com/cours/doublons/#L3...

    Requète SQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    DELETE
    FROM presence AS p
    WHERE p.id_presence < ANY (
    	SELECT id_presence
    	FROM presence AS p2
    	WHERE  p.id_presence <> p2.id_presence
    	AND  p.id_effectif    = p2.id_effectif
    	AND  p.id_calendrier = p2.id_calendrier
    	)
    Message d'erreur :

    Erreur de syntaxe près de 'WHERE p.id_presence < ANY ( SELECT id_presence FROM presence' à la ligne 3

    j'ai un peu tout essayé...
    par exemple, quand je remplace:
    par il me fournit bien tous les ID que je dois supprimer.

    est-ce un problème de syntaxe? ou de version de MySql?
    merci[/b]

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 849
    Points : 52 968
    Points
    52 968
    Billets dans le blog
    6
    Par défaut
    Vérifiez que MySQL accepte bien le prédicat ANY...

    A +

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    Justement, avec la requète SELECT xxx FROM, ça passe...
    quelle est la différence entre SELECT et DELETE?

  4. #4
    Membre actif Avatar de TheRussian
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 200
    Points : 241
    Points
    241
    Par défaut
    Bonjour,

    je ne sais pas pour MySQL mais avec SQL Server renommer une table comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    delete from MaTable as T1
    Ne fonctionne pas

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    bon, effectivement, on ne peut pas avec MySql utiliser les fonctions DELETE UPDATE ou INSERT avec des sous-requètes quand la table cible de la sous-requète est la même que la table modifiée:

    voir:
    http://dev.mysql.com/doc/refman/5.0/...ry-errors.html

    donc pour mon problème, je fais bien la même requète avec SELECT, je liste en PhP les ID récupérées, et je les supprime une à une...

    +

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    ha et aussi:
    TheRussian a raison: pas d'alias possible avec DELETE

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

Discussions similaires

  1. Problème de syntaxe dans un formulaire php-mysql
    Par alex45500 dans le forum Langage
    Réponses: 3
    Dernier message: 05/11/2012, 15h56
  2. [phpMyAdmin] #1064 : Problème de syntaxe dans MySQL
    Par anthony29 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 23/06/2010, 15h25
  3. [Système] Problème de syntaxe dans condition
    Par pierrot10 dans le forum Langage
    Réponses: 10
    Dernier message: 09/10/2006, 14h10
  4. problème de syntaxe dans des boucles imbriquées
    Par deglingo37 dans le forum Access
    Réponses: 2
    Dernier message: 01/09/2006, 14h46
  5. [VB6/mysql]:Problème d'insertion dans une bdd
    Par gaetan.tranvouez dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 14/06/2006, 10h15

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