Page 1 sur 1

problème d'id

Posté : 15 févr. 2006, 10:40
par jojolapine
Bonjour à tous.
j'ai quelque question au sujet de requêtes mysql...
j'ai une table appelée dates, dans laquelle j'ai mit un champ id en index.
et (au travers d'un script php), je supprime des champs, ce que je voudrai savoir, c'est si il éxiste une requête sql permettant de réatribué les ids....
Deuxième chose, ya t'il également une requête sql possible de tri avec un champ date?
merci d'avance pour les réponses.

Posté : 15 févr. 2006, 10:48
par charabia
Pour ta première question je ne sais pas trop, quant à la deuxième, le ORDER BY fonctionne très bien sur les champs de type date.

Re: problème d'id

Posté : 15 févr. 2006, 12:50
par albat
si il éxiste une requête sql permettant de réatribué les ids....
NON, NON, NON et NON ! :tir2:
Un champ utilisé pour identifier des enregistrements
qu'il soit clé primaire ou non, qu'il soit autoincrémenté ou non, ne doit jamais être réattribué !
(Je ne m'énerve pas contre toi, jojolapine, mais contre cette question qui revient souvent)

Expliquez-moi quelle peut être l'utilité de cette réattribution !

Croyez vous que la Sécu redistribue ses numéros chaque fois qu'un assuré social casse sa pipe ?
À noter une possible exception : certains affirment qu'à la mairie de Paris on recyclerait ainsi les numéros des cartes d'électeurs...:langue:

L'identifiant est un identifiant. Rien d'autre !
Disons qu'il sert à numéroter les lignes d'une table (enregistrements)
et à permettre les jointures entre ces tables.
C'est un numéro arbitraire (auto-incrément) qui n'a et ne doit avoir aucune signification, ni aucun autre usage.
Deuxième chose, ya t'il également une requête sql possible de tri avec un champ date?
Les champs de type date, malgré la spécificité de leur format, sont des valeurs numériques.
Le tri se fait donc de la même manière.

Posté : 15 févr. 2006, 14:23
par jojolapine
En fait mon problème c'était que je prenait comme id le numéro de ligne dans mon mysql__result, et ça a marché j'usqu'a ce que j'essaye d'enlever une date...à a ce moment là, les id ne correspondent plus aux numéros de lignes...et je sais plus trop comment m'y prendre... :cry: mais bon ça ne traite plus du langae sql, mais du php...
par contre pour la requête order by, je fait comment?

Posté : 15 févr. 2006, 14:57
par albat
SELECT champ_date, champ_1, champ_2 FROM table ORDER BY champ_date [DESC]

Posté : 15 févr. 2006, 17:52
par jojolapine
Ok pour la requête...
Mais je me demande une chose, ce sera jamais le cas pour moi, mais au bout d'un mometn, les ids doivent bien être trop grande pour des trucs comme la secu ou les cartes d'électeurs, y mettent des big big big int?

Posté : 15 févr. 2006, 20:19
par patami
il n'y a pas que mysql comme base de donnée. En travaillant avec oracle par exemple, plus de soucis de ce côté. Je ne sais pas de plus si la sécu traite ses données via internet. Ce serait plutôt via un intranet, avec un logiciel dans un autre langage que php .. enfin je n'en sais rien

Posté : 16 févr. 2006, 12:55
par Invité
ok merci pour toutes ces réponses, tout marche à merveille :D