Bonjour,
Je veux créer une table abonné avec "pseudo" comme clé primaire est il préférable? Ca évitera les doublons non?
Merci
Version imprimable
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.
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.
Il faut faire un test quand tu enregistres un pseudo pour que le problème ne se pose pas.Citation:
Envoyé par ayha
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à.
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.
ok bah je vais faire ca je vais créer mes champs et je ferais les tests :roll:
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.Citation:
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 :wink:
Plutôt après, non ? Laisse le moteur faire son boulot, et s'il te remonte une erreur, gère-là.Citation:
Envoyé par Illusion_MYA
+1, mais il y a un autre avantage énorme à cette solution : un internaute peut changer de pseudo...Citation:
Envoyé par KiLVaiDeN