Bonjour,
Je veux créer une table abonné avec "pseudo" comme clé primaire est il préférable? Ca évitera les doublons non?
Merci
Bonjour,
Je veux créer une table abonné avec "pseudo" comme clé primaire est il préférable? Ca évitera les doublons non?
Merci
Non il vaut mieut mettre ta colonne pseudo en unique, et un entier en clé primaire, c'est toujours plus rapide à indexer et pour acceder à ta table.
K
Mais si je fais comme tu dis est ce que ca posera un problème pour les doublons dans le sens ou deux personnes auront le meme pseudo?
Bonjour,
+1 pour l'identifiant unique.
Tu n'as pas posté dans la bonne rubrique, tu devrais demander à un modo de déplacer ton thread.
"Lorsque l'Homme aura coupé le dernier arbre, pollué la dernière goutte d'eau, tué le dernier animal et pêché le dernier poisson, alors il se rendra compte que l'argent n'est pas comestible."
Il faut faire un test quand tu enregistres un pseudo pour que le problème ne se pose pas.Envoyé par ayha
"Lorsque l'Homme aura coupé le dernier arbre, pollué la dernière goutte d'eau, tué le dernier animal et pêché le dernier poisson, alors il se rendra compte que l'argent n'est pas comestible."
Ton insert fera une erreur si le pseudo existe déjà, si la colonne est déclarée en UNIQUE.
Comme dit Illusion_MYA, il faut faire un select avant l'insertion, pour vérifier que le login n'existe pas déjà.
K
Voila c'est parce que j'ai peur que ca pose un problème donc c'est pour ca que je voulais le mettre en clé primaire et comme on ne peut pas avoir deux clés primaires identiques ca arrangeait le problème
Ah ok donc lorsqu'on déclare en unique il n'y a pas de problème de doublons, c'est bien ca?
Merci en tout cas d'avoir répondu aussi rapidement.
Attention, ce n'est pas parce que le champ sera déclaré en unique que le problème de doublons est réglé ... tu auras droit à des erreurs.
Pense à faire des tests avant.
"Lorsque l'Homme aura coupé le dernier arbre, pollué la dernière goutte d'eau, tué le dernier animal et pêché le dernier poisson, alors il se rendra compte que l'argent n'est pas comestible."
ok bah je vais faire ca je vais créer mes champs et je ferais les tests
Merci
En fait quand on déclare une colonne en "UNIQUE" on ajoute une contrainte, qui fait qu'on ne peut pas avoir deux valeurs identiques pour la même colonne.Envoyé par ayha
Par contre, ça ne gérera pas tout seul les doublons, si tu essaies de faire un INSERT avec une valeur qui existe déjà, il te jètera tout simplement avec une erreur bien méchante. Il faut donc faire un test avant l'insert, si tu veux éviter les erreurs :-)
UNIQUE est juste un moyen de garantir l'intégrité des données selon un modèle, ici en l'occurence, quand une application tourne avec une colonne ayant UNIQUE comme contrainte, on est sûr qu'il n'y aura pas deux fois la même valeur !
Le fait de déclarer PSEUDO en clé primaire serait revenu un peu au même. Car quand on déclare une colonne en tant que clé primaire, ça implique que cette colonne soit UNIQUE ( car une clé primaire est par définition un élément unique permettent d'identifier un enregistrement ). Mais je te suggérais d'utiliser UNIQUE pour la colonne pseudo et de rajouter un ID en clé primaire, car les bases de données fonctionnent mieux en général avec un champs de type INTEGER en clé primaire.
Voili voulou
K
Plutôt après, non ? Laisse le moteur faire son boulot, et s'il te remonte une erreur, gère-là.Envoyé par Illusion_MYA
J'affirme péremptoirement que toute affirmation péremptoire est fausse
5ième élément : barde-prince des figures de style, duc de la synecdoque
Je ne réponds jamais aux questions techniques par MP
+1, mais il y a un autre avantage énorme à cette solution : un internaute peut changer de pseudo...Envoyé par KiLVaiDeN
J'affirme péremptoirement que toute affirmation péremptoire est fausse
5ième élément : barde-prince des figures de style, duc de la synecdoque
Je ne réponds jamais aux questions techniques par MP
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager