Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
921 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Réattribuer des id

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Réattribuer des id

n°1328315
hyogapag
Posté le 19-03-2006 à 16:19:46  profilanswer
 

Bonjour. Je souhaiterais effectuer quelques modifications sur l'une des mes tables SQL à l'aide d'une requête, dont malheureusement je ne connais pas la syntaxe et à propos de laquelle je ne parviens pas à trouver de renseignements.
 
La table en question possède une vingtaine de champs, mais juste 2 nous intéressent. Le champ id et le champ nom. Le champ id est ma clé d'index primaire, et est configuré pour s'incrémenter de 1 à chaque nouvelle entrée. Le numéro id correspond donc à l'odre dans lequel la table a été renseignée.
 
Je voudrais réorganiser ma table par ordre alphabétique des noms, c'est-à-dire trier les "fiches" par ordre alphabétique du champ nom, et changer l'id pour qu'il corresponde à cet ordre. Une fois cette opération terminée, j'aimerais que si de nouvelles données sont saisies, la nouvelle fiche ait pour id l'id la plus élevée+1 (que ça fonctionne comme avant pour les fiches rentrées ensuite en fait...)
 
J'ai bien chercher des renseignements sur Google mais en vain.
 
En vous remerciant par avance.

mood
Publicité
Posté le 19-03-2006 à 16:19:46  profilanswer
 

n°1328450
olivthill
Posté le 19-03-2006 à 20:44:11  profilanswer
 

Bonjour. La question est un peu étrange.
 

Citation :

Une table SQL ?

Plutôt une table accessible par SQL. SQL signifie Structured Query Language, et est une norme pour un langage de requête, mais les tables peuvent être définies sous n'importe quelles formes, puisqu'il peut s'agir de liste, d'arbre, de fichiers XML, etc.
 

Citation :

réorganiser ma table par ordre alphabétique des noms

Habituellement, les enregistrements sont dans n'importe quel ordre, mais c'est lors de la requête de consultaton que l'on trie les résultats avec

SELECT id, nom ORDER BY nom


 

Citation :

changer l'id

Ah, voilà une question classique. La réponse dépend de la base de données utilisée. Est-ce Oracle, Access, MySQL, ... ? La plupart du temps, cela nécessiste de créer une nouvelle table et de transférer les données de l'ancienne table dans la nouvelle table en faisant attention à ce que le transfert se fasse dans l'ordre voulu.
 

n°1328528
hyogapag
Posté le 19-03-2006 à 23:21:15  profilanswer
 

olivthill, merci de m'informer sur les précautions oratoires à prendre avant de parler de table SQL. ^^ Quant au ORDER BY, je connais cette commande mais elle ne me convient pas car le résultat n'est pas enregistré de manière définitive (en tout cas avenc un SELECT).
Sinon, la BDD que j'utilise est MySQL.
 
Merci d'avance.^^

n°1328529
Sh@rdar
Ex-PhPéteur
Posté le 19-03-2006 à 23:28:26  profilanswer
 

un moyen simple
 
tu supprime ton champ Id
tu trie ta table par nom ALTER TABLE ORDER BY nom
tu ajoute ton champ Id en auto increment et il va se numéroter tout seul
 
je viens de tester à l'instant, ça marche :)


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°1328547
hyogapag
Posté le 19-03-2006 à 23:52:56  profilanswer
 

Je viens de le faire, effectivement ça marche. ^^ Merci beaucoup (en fait je ne pensais pas qu'un ALTER TABLE suffirait...)

n°1328604
h4rold
Posté le 20-03-2006 à 08:03:10  profilanswer
 

Sh@rdar a écrit :

un moyen simple
 
tu supprime ton champ Id
tu trie ta table par nom ALTER TABLE ORDER BY nom
tu ajoute ton champ Id en auto increment et il va se numéroter tout seul
 
je viens de tester à l'instant, ça marche :)


 
si il ya deux champs identiques ca risque de planter (et que l'id était la clef primaire)

n°1328610
Sh@rdar
Ex-PhPéteur
Posté le 20-03-2006 à 08:29:54  profilanswer
 

deux champs identiques ??


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°1328620
jeoff
Posté le 20-03-2006 à 09:23:34  profilanswer
 

je pense qu'il voulait dire 'enregistrement' ;)

n°1328624
Sh@rdar
Ex-PhPéteur
Posté le 20-03-2006 à 09:37:25  profilanswer
 

c'est pour ça que je pige pas puisque ça change rien :D


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°1328721
jeoff
Posté le 20-03-2006 à 12:19:51  profilanswer
 

à moins de mettre une clé primaire sur le champs 'nom' après suppression des id, ca ne plantera rien effectivement


Message édité par jeoff le 20-03-2006 à 12:20:26

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Réattribuer des id

 

Sujets relatifs
effacer une ligne entiere et reattribuer son id 
Plus de sujets relatifs à : Réattribuer des id


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR