Différence entre UNIQUE et VALEURS DISTINCTES [Résolu]

Signaler
-
Messages postés
16017
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
14 juin 2021
-
Bonjour,

Dans la BDD, pour une colonne, il est possible de choisir entre Unique et Valeurs Distinctes (. Quelle différence y a t-il entre ces 2 choix ?
J'envisage d'utiliser tout simplement cette option pour empêcher d'enregistrer les données si la valeur est déjà dans la colonne. En sachant que ce champs qui servira au contrôle aura toujours une valeur. Cela évitera de passer par une requête select * from table where....

Daniel

Configuration: Windows / Firefox 83.0

3 réponses

Messages postés
3867
Date d'inscription
lundi 16 juillet 2007
Statut
Contributeur sécurité
Dernière intervention
13 juin 2021
1 390
Bonjour, je suppose que tu parles de cette image ?

Tu peux faire le test par toi-même, tu verras qu'il lance une requête avec un COUNT et un GROUP BY, pour indiquer la quantité pour chaque valeur.

Le résultat :
Messages postés
16017
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
14 juin 2021
867
oups, j'ai supposé qu'il s'agissait de la définition d'un champ.
il semble s'agir de la définition d'une requête!
>
Messages postés
16017
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
14 juin 2021

C'est bien dans la définition d'un champ. Quand tu vas dans la structure de la table, c'est un choix possible pour chaque champ.
Pour répondre à Pyraah, effectivement, je pouvais faire un test moi même mais comme, je ne souhaitais pas risquer de modifier des données existantes, je préférais poser la question sur un forum. Maintenant, c'était juste pour de la culture personnelle car comme bien souvent quand je ne sais pas ... je ne touche pas. L'interface entre le clavier et le fauteuil fait déjà suffisamment de bêtises comme ça. ;-)
Messages postés
3867
Date d'inscription
lundi 16 juillet 2007
Statut
Contributeur sécurité
Dernière intervention
13 juin 2021
1 390 > Daniel
En cas de doute, ne pas hésiter à créer une autre table pour tester des trucs. L'hébergement ne coûtera pas plus cher ;-).
>
Messages postés
3867
Date d'inscription
lundi 16 juillet 2007
Statut
Contributeur sécurité
Dernière intervention
13 juin 2021

C'est vrai. Tout comme la connaissance qui peut être partagée et que l'on en aura pas moins après.
Bonne continuation, je repars sur mes tests ^^
Messages postés
16017
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
14 juin 2021
867 > Daniel
ah oui, je vois, cela peut donner l'impression que cela change la définition du champ. comme expliqué par Pyraah, cliquer sur "valeurs distinctes" n'a aucun effet sur la définition d'un champ.
Messages postés
32961
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 juin 2021
3 558
Bonjour,

La BDD ... ce n'est pas du PHP ....

Quel moteur de Base de données utilises tu ? Mysql ? MariaDb ? Autre ??

En fonction de ta réponse, je déplacerais la question dans le bon forum


Par contre, je connais les clés (indexes) UNIQUE.. mais pas les DISTINCTES
En général, (au moins en mysql, mariadb, sqlserver ... )
Les indexes UNIQUES permettent de mettre une contrainte (lors de la création d'une table) sur une colonne pour controller que la valeur sera.. unique...
Alors que l'instruction DISCTINCT est, quant à elle, utilisée dans les requêtes SELECT pour "filtrer" le résultat de la recherche.
Bonjour,

C'est vrai que BDD c'est pas du php mais comme il était question d'une alternative à une requête php...

Il s'agit d'une base MySQL chez The World by PlanetHoster. Les choix pour les champs sont (Primaire, Unique, Index, Spatial, Texte entier, Valeurs distinctes) en dehors des classiques (Choix de type, Taille/Valeurs, Valeur par défaut, Interclassement, Attributs, Nul, Auto Incrément, Commentaires, Virtualité, Déplacement colonne).
Messages postés
16017
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
14 juin 2021
867
il me semble qu'il s'agit donc d'une terminologie propre à PlanetHoster, à voir avec eux comment ils traduisent cela techniquement en MySQL.
Messages postés
16017
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
14 juin 2021
867 >
Messages postés
16017
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
14 juin 2021

tu es certain qu'il y a une virgule dans
Unique, Index
?
>
Messages postés
16017
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
14 juin 2021

Oui c'est même pas une virgule, c'est des item différents.en colonne. Il y a des virgules car je les ai listés.
>
Messages postés
16017
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
14 juin 2021

Oui, c'est possible que ce soit une terminologie propre à eux.