8710 sujets

Développement web côté serveur, CMS

Bonjour , pour que deux champs forment une clé unique.
Il faut que dans mysql, je sélectionne les deux champs et que je clique sur clé primaire ou sur unique.

Cordialement
Salut,

quand tu dis forment une clé unique tu veux dire un lien de référence entre eux? Car:

une clé primaire: permet d'identifier de manière unique un enregistrement
une clé unique: permet de ne pas avoir 2 fois la même valeur dans la colonne(contrainte) d'une même table.

En gros pour être précis, une clé unique n’existe pas, c'est une contrainte d'unicité que l'on applique à un champ.

Pour faire simple, un exemple: Dans une table avec des plaques d’immatriculations tu ne devrais pas avoir 2 voitures ou 2 propriétaires avec la même immatriculation.

Dans ton cas si j’anticipe bien, c'est une clé étrangère qu'il te faut, en fait une contrainte référentielle .

C'est une contrainte qui garantit l'intégrité entre deux références et entre deux tables. (pas très clair ...) en gros lien lien parent/enfant
Modifié par biduletruck (06 Apr 2018 - 12:38)
Salut...

Dans phpMyAdmin tu vas dans la structure...
Tu ouvres les index et tu cliques sur créer un index sur plusieurs colonnes.
Là tu choisis tes colonnes tu donne un nom à ta clé d'index et voilà
Ton couple deviens une référence unique.

Ce qui correspond à ta demande et à l'explication de bidule.
Pour un couple nom/plaque d'immatriculation PAS de possibilité d'avoir de nouveau le même couple dans la table.
En revanche tu pourra avoir un autre nom et la même plaque OU une autre plaque avec le même nom Smiley smile