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 5] UPDATE et COUNT()


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Par défaut [MySQL 5] UPDATE et COUNT()
    Bonjour,

    Encore un petit problème à vous soumettre :

    voila j'ai une table A, et je voudrai mettre à jour un enregistrement de cette table, et assigner comme valeur de l'enregistrement le nombre d'enregistrements présents dans la table.

    Autrement dit, intuitivement j'aurais fait :

    UPDATE A SET nb_rec = (SELECT COUNT(nb_rec) FROM A) WHERE 1

    Seulement voila, MySQL me retourne :

    You can't specify target table 'A' for update in FROM clause

    Une idée ?

  2. #2
    Membre chevronné
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Par défaut
    Bonjour,

    Je pense qu'il faut utiliser un alias dans la requête.

    A+

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Par défaut
    Bonjour,

    j'ai tenté


    UPDATE A SET nb_rec = (SELECT COUNT(nb_rec) AS nb FROM A) WHERE 1

    ou encore

    UPDATE A a SET nb_rec = (SELECT COUNT(nb_rec) FROM A) WHERE 1

    et cela ne donne toujours rien ... y aurait-il une autre manière d'utiliser les ALIAS ?

  4. #4
    Membre chevronné
    Avatar de karami
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juin 2005
    Messages : 343
    Par défaut
    Bonjour

    je sais si on peux faire cette MAJ avec une simple requette, puisqu'on peux pas utiliser la table A dans la selection du 'count'.

    donc je croix qu il faut la faire en deux requettes (soit avec un langage soit avec les procedures stockées): recuperation du count puis la MAJ.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Par défaut
    Ah dans ce cas ...

    Merci beaucoup pour l'aide, je pense que je vais faire comme indiqué .

    Merci beaucoup.

  6. #6
    Xo
    Xo est déconnecté
    Membre Expert
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Par défaut
    Citation Envoyé par Takusen
    voila j'ai une table A, et je voudrai mettre à jour un enregistrement de cette table, et assigner comme valeur de l'enregistrement le nombre d'enregistrements présents dans la table.
    Salut,

    A quoi cela te sert-il, de stocker cette valeur, puisque tu peux la récupérer avec un simple COUNT, et qu'elle risque d'être amenée à changer plus ou moins fréquemment ?

    De plus, la stocker dans une ligne de la même table ne me paraît pas très rigoureux.
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

Discussions similaires

  1. [Mysql] syntaxe UPDATE
    Par Katachana dans le forum Requêtes
    Réponses: 1
    Dernier message: 28/02/2008, 16h06
  2. Mysql Connector en fonction Count
    Par acesyde dans le forum Windows Forms
    Réponses: 4
    Dernier message: 08/06/2007, 09h58
  3. Update avec count
    Par baboun007 dans le forum Access
    Réponses: 4
    Dernier message: 22/12/2006, 11h10
  4. Réponses: 7
    Dernier message: 08/06/2006, 15h39
  5. Erreur MySQL sur Update
    Par shub dans le forum Administration
    Réponses: 5
    Dernier message: 04/04/2006, 15h15

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