ID sur phpMyAdmin

Résolu/Fermé
sangraé Messages postés 51 Date d'inscription samedi 14 avril 2012 Statut Membre Dernière intervention 5 août 2015 - 4 févr. 2014 à 09:52
sangraé Messages postés 51 Date d'inscription samedi 14 avril 2012 Statut Membre Dernière intervention 5 août 2015 - 4 févr. 2014 à 22:12
Yop tout le monde, j'ai fais un site avec un pote et on affecte un ID a chaque commentaire posté, donc auto-incrémentation et tout le bazar. Jusque là pas de problème.

Mais comment définir cet ID dans la BDD? Un simple Int ne vas que jusqu'à 255 donc pas suffisant, il y a pas un type particulier? Sinon je met un BigInt ça laisse de la marge (même si on a pas besoin des nombres négatifs).

6 réponses

kelux Messages postés 3065 Date d'inscription vendredi 18 juin 2004 Statut Contributeur Dernière intervention 20 janvier 2023 432
Modifié par kelux le 4/02/2014 à 20:56
Vous répondez complètement à coté de la plaque ;)

D'autre part ce ton hautain et condescendant est des plus perspicaces ; surtout lorsqu'un novice se pose des questions simples pour aller vers l'avant.

Le mot décimal aurait du être remplacé par numérique pour être précis, m'enfin bon ... j'irai pas stocker de l'hexa dans un entier ? si ?


Juste pour parfaire ce débat puérile :

The INT in mysql use 4 byte storage, and range from -2147483648 to 2147483647. If you use unsigned int, the range is 0 to 4294967295.

The 255 is simply display width and doesn't affect the range of values

Un entier pèsera toujours 4 octets ...


Luc L.
1
sangraé Messages postés 51 Date d'inscription samedi 14 avril 2012 Statut Membre Dernière intervention 5 août 2015 8
Modifié par sangraé le 4/02/2014 à 22:13
Houla Waxtime tu vas tout de suite te détendre, je n'ai jamais prétendu être un pro, je suis des cours et j'en fais un peu plus à côté mais je suis encore loin d'avoir tout assimilé.

Sur phpMyAdmin je vois une colonne nommée taille/valeur, pour moi je me suis dis sans trop réfléchir mais c'est la taille maximale? du coup étant complètement dans le tort je n'ai rien trouver dans mes cours j'ai préféré demander...

Et puis un ID sera dans un très grand nombre de cas un entier auto incrémenté, ainsi tu garantis son unicité... Après si tu veut t'embêter avec des algo tu peux réutilisé des ID disponible dans ce cas oui tu peux ne pas l'incrémenter à chaque fois(si tu as supprimer l'entrée correspondante au 1 tu peux de nouveau l'utiliser) bien qu'on me déconseille fortement l'utilisation d'algo dans les BDD.

(Le dernier point peut être faux, je résonne beaucoup trop comme en algorithmique...)

PS: un forum s'est fait pour s'entre aider ou corriger pas pour critiquer ou se moquer
1
kelux Messages postés 3065 Date d'inscription vendredi 18 juin 2004 Statut Contributeur Dernière intervention 20 janvier 2023 432
Modifié par kelux le 4/02/2014 à 09:59
Salut,

Un int 255 dépasse 255 non ?

int (10) ça a pour valeur max 4294967295 ... je suppose que c'est assez grand.

On définit la dimension, par la valeur décimale de ton entier ...
0
sangraé Messages postés 51 Date d'inscription samedi 14 avril 2012 Statut Membre Dernière intervention 5 août 2015 8
4 févr. 2014 à 11:27
Ah je l'avais pas compris comme ça! Merci Kelux :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kelux Messages postés 3065 Date d'inscription vendredi 18 juin 2004 Statut Contributeur Dernière intervention 20 janvier 2023 432
4 févr. 2014 à 12:02
You're welcome ;)
0
Problème résolu alors..
parce qu'un paquet de trucs que vous dites est faux:

Une id n'est pas forcément numérique et auto-incrémenté.
Au contraire rationnellement et logiquement il ne l'est quasiment jamais; l'id est l'abréviation de Identifiant donc sa seule restriction et qu'il soit unique.

L'iD n'est pas identifiant de la BDD mais d'une table. Certaines tables peuvent nécessiter plusieurs identifiants, c'est le cas lors de jointure de tables et de l'utilisation de clés étrangère.

Un simple INT 255 comme vous dites a sa taille spécifié en octets et non valeur décimale; il est donc possible de stocker des valeurs entière comprise entre 2147483647 et -2147483647.

Bref vous êtes débutant et devez encore potasser(et pratiquer) les bases de données plutôt que considérer que vous avez tout compris.
0