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 :

Aide pour une requête


Sujet :

Requêtes MySQL

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Aide pour une requête
    Bonjour,

    Une des tables (file) de ma base de données contient plus de 3000 entrées.

    Je recherche une requête qui remplira automatiquement le champ "file_id" (actuellement 0 pour toutes les entrées), basée sur le champ "added" (d.m.y)
    >ID 1 pour l'entrée la plus ancienne jusqu'à 3052 pour l'entrée la plus récente.

    Merci d'avance pour votre aide.

    Fabien

  2. #2
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Saluton,
    Il faut déjà être sûr qu'il n'y as pas de doublons dans la colonne `added`.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Maljuna Kris Voir le message
    Saluton,
    Il faut déjà être sûr qu'il n'y as pas de doublons dans la colonne `added`.
    Effectivement, je n'avais pas pensé à ce problème.

    Dans ce cas, il vaudrait mieux se servir de la colonne`added_date` (Y-m-d g:i:s) qui ne comporte aucun doublon.

  4. #4
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Si tu as déjà une clef unique facilement utilisable par ORDER BY à quoi bon mettre à jour `file_id` en tenant compte de ce classement, pourquoi ne pas laisser faire l'AUTO_INCREMENT sur cette colonne d'identifiant?
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    J'ai oublié de préciser que je suis totalement débutant en MySQL.

    D'après ce que j'ai compris, l'auto_increment s'exécute uniquement lors de l'enregistrement de données; ce que je cherche à faire est de modifier des données déjà enregistrées (après une migration qui ne s'est pas déroulée parfaitement)

    La colonne `file_id`, dans le script que j'utilise, détermine l'ordre temporel des données, elle est donc essentielle.

  6. #6
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Citation Envoyé par mozzer Voir le message
    La colonne `file_id`, dans le script que j'utilise, détermine l'ordre temporel des données, elle est donc essentielle.
    Non, c'est la colonne
    `added_date` (Y-m-d g:i:s) qui ne comporte aucun doublon
    qui détrermine l'ordre temporel des données.
    Il suffit de dire ORDER BY added_date [ASC] ou [DESC] selon ce que tu veux obtenir.
    `file_id` n'est éventuellement utile que comme clé étrangère pour des tables filles.
    Tu devrais créer un INDEX UNIQUE sur la colonne `added_date`, ça ne peut qu'améliorer les SELECT.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Désolé d'insister mais, dans le script que j'utilise, c'est bien l'ID qui détermine l'ordre temporel.

    L'ID est également utilisé dans l'url :
    http://www.domain.com/media/0/titre-du-media/
    >Un ID égal à zéro (ce qui est le cas actuellement de toutes mes données) produit une erreur 404.

  8. #8
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Citation Envoyé par mozzer Voir le message
    Désolé d'insister mais, dans le script que j'utilise, c'est bien l'ID qui détermine l'ordre temporel.
    Actuellement la colonne ne détermine absolument rien puisque qu'elle contient la valeur 0 pour toutes les lignes.
    Que tu veuilles l'utiliser comme identifiant n'est pas un problème, mais il est inutile de vouloir t'en servir pour déterminer l'ordre temporel puisque celui-ci est donné par ORDER BY added_date.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

Discussions similaires

  1. Aide pour une requête et left join
    Par Lolo19 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 26/08/2005, 08h09
  2. J'ai besoin de votre aide pour une requête
    Par ovdz dans le forum Langage SQL
    Réponses: 6
    Dernier message: 20/05/2005, 11h42
  3. Demande d'aide pour une requête
    Par arkzor dans le forum Requêtes
    Réponses: 3
    Dernier message: 28/12/2004, 02h40
  4. Besoin d'aide pour une Requête SQL ...
    Par Kokito dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/07/2004, 11h56
  5. besoin d'aide pour une requête
    Par Damien69 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 31/03/2004, 15h38

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