Réattribuer des id - SQL/NoSQL - Programmation
Marsh Posté le 19-03-2006 à 20:44:11
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.
Marsh Posté le 19-03-2006 à 23:21:15
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.^^
Marsh Posté le 19-03-2006 à 23:28:26
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
Marsh Posté le 19-03-2006 à 23:52:56
Je viens de le faire, effectivement ça marche. ^^ Merci beaucoup (en fait je ne pensais pas qu'un ALTER TABLE suffirait...)
Marsh Posté le 20-03-2006 à 08:03:10
Sh@rdar a écrit : un moyen simple |
si il ya deux champs identiques ca risque de planter (et que l'id était la clef primaire)
Marsh Posté le 20-03-2006 à 08:29:54
deux champs identiques ??
Marsh Posté le 20-03-2006 à 09:37:25
c'est pour ça que je pige pas puisque ça change rien
Marsh Posté le 20-03-2006 à 12:19:51
à moins de mettre une clé primaire sur le champs 'nom' après suppression des id, ca ne plantera rien effectivement
Marsh Posté le 19-03-2006 à 16:19:46
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.