Le tri d'un ensemble de table SQLite
J'ai une table SQLite que j'ai besoin de trier. Je suis familier avec le ORDER BY
de commande, mais ce n'est pas ce que je suis en train d'accomplir. J'ai besoin de l'ensemble de la table triée dans la base de données.
Explication:
Ma table utilise une colonne appelée rowed
qui définit l'ordre de la table (une clé?). J'ai besoin de trier le tableau par une autre colonne appelée name
et puis re-assigner rowid les numéros dans l'ordre alphabétique selon name
. Cela peut-il être fait?
Ce n'est pas une bonne idée de nommer une colonne
rowid
. Qui a déjà une signification spéciale dans SQLite.OriginalL'auteur Kyle Mills | 2010-12-31
Vous devez vous connecter pour publier un commentaire.
En supposant que vous avez créé votre table d'origine comme suit:
Vous pouvez créer un autre tableau trié:
Et puis si vous voulez remplacer la table d'origine:
OriginalL'auteur Sasq
Je pense que cette question se rapporte à vouloir la clé primaire de signifier quelque chose. À éviter ce piège. Choisir arbitrairement une générés clé primaire qui identifie de manière unique une ligne de données et n'a d'autre sens. Sinon vous allez finir par courir dans le problème de vouloir modifier les valeurs de clé primaire pour préserver le sens.
Pour une bonne explication de pourquoi vous devez vous appuyer sur la COMMANDE pour récupérer les données dans l'ordre souhaité au lieu de supposer que les données dans le cas contraire, apparaissent dans un ordre déterminé par la clé primaire voir Cruachan, en réponse à une question similaire
OriginalL'auteur d5e5