2010-10-30 9 views
1

La bonne façon d'utiliser le UNIQUE KEY dans ma table MySQL?MySQL - Manière correcte d'utiliser la clé UNIQUE?

Données MySQL.

id pid aid 
1 2 3 
2 3 2 
3 3 4 

Table MySQL.

CREATE TABLE ab ( 
id INT UNSIGNED NOT NULL AUTO_INCREMENT, 
pid INT UNSIGNED NOT NULL DEFAULT 0, 
aid INT UNSIGNED NOT NULL DEFAULT 0, 
PRIMARY KEY (id), 
UNIQUE KEY (pid, aid) 
); 
+0

Cela dépend de ce que vous avez besoin de faire, que vous ne l'avez pas fourni de détails sur . –

+0

@OMG Poneys, que voulez-vous dire? – HELP

+0

Elaborer s'il vous plaît? Une clé unique garantit que les valeurs insérées sont toujours uniques (aucun doublon n'est autorisé). – pavanred

Répondre

1

L'index unique que vous avez créé est un index valide. Il crée un index qui permet de dupliquer les valeurs dans pid et également dans aid mais n'autorise pas les doublons d'aucune paire (pid, aid). Par exemple, cet insert échouerait si votre table contient déjà les données de votre exemple, car il est en conflit avec la deuxième rangée:

INSERT INTO ab (pid, aid) VALUES (3, 2) 
+0

si j'ai le numéro 3 pour pid et l'aide est-ce valable? – HELP

+0

@sland: Oui c'est valide. –

+0

Puis-je avoir à la fois aide et pid avec les mêmes valeurs qu'une seule fois sur la même ligne pour être clair. – HELP

Questions connexes