Discussione:
campo UNIQUE ad una coppia di campi mysql
(troppo vecchio per rispondere)
artev
2006-07-24 07:10:02 UTC
Permalink
da phpmyadmin è possibile fare in modo che 2 campi siano solo se accopiati
UNICI;
cioè il valore del campo 1 e campo 2 devono essere unici come copppia di
valori quindi se ho ad esempio

se ho
campo1 campo2
LIBRO BLU
LIBRO ROSSO
LIBRO VERDE
LIBRO GIALLO
TAVOLO GIALLO
TAVOLO BLU

praticamente ogni campo puo' avere valori ripeturi ma la coppia
deve essere unica
Mirko
2006-07-24 07:43:43 UTC
Permalink
Post by artev
da phpmyadmin è possibile fare in modo che 2 campi siano solo se accopiati
UNICI;
Senza offesa ma... potresti riformulare la tua domanda (è una
domanda?) in un italiano più comprensibile?
Mirko
2006-07-24 07:45:36 UTC
Permalink
Post by Mirko
Senza offesa ma... potresti riformulare la tua domanda (è una
domanda?) in un italiano più comprensibile?
Supponga tu voglia sapere se è possibile avere una sola e unica coppia
campo1/campo2, vero?
artev
2006-07-24 07:50:56 UTC
Permalink
provo solo con le virgole :-)
il resto dai che sè capito; i programmatori hanno sicuramente una marcia in
più.

da phpmyadmin è possibile fare in modo che 2 campi, siano, solo se
accopiati,UNICI;


se proprio non si capisce allora:
hai 2 campi e c'è tale record:
campo1 campo2
LIBRO ROSSO
voglio che tale record sia unico; quindi che i 2 campi insieme siano
UNIQUE; e quindi se il campo1 è LIBRO sul campo2 non posso reinserire il
valore ROSSO
Mirko
2006-07-24 07:58:13 UTC
Permalink
Ok, allora avevo capito bene.

Apri PhpMyAdmin, apri il database, apri la tabella.

Trovi il pannellino per gli indici.

Inserisci 2 in "crea un indice su x columns".

Scegli un nome.
Imposta "tipo di indice" su unique.
Imposta i campi desiderati.

Va bene così? :)
artev
2006-07-24 09:19:58 UTC
Permalink
ok

thank
artev
2006-07-24 09:28:47 UTC
Permalink
solo un chiarimento:
la tabella è questa
ID campo1 campo2

dove ID chiave primaria autoincrementale
campo1 è un INDEX
poi campo1 e campo2 insieme sono UNIQUE
ora phpyadmin indica che:
Le chiavi UNIQUE e INDEX non dovrebbero essere assegnate entrambe per la
colonna `campo1`

pero' in realtà la colonna campo1 è UNIQUE non da sola ma insiema a
campo2: ci sono problemi?
oppure l'avviso in realtà non considera tale situazione?
Mirko
2006-07-24 09:57:54 UTC
Permalink
Post by artev
la tabella è questa
ID campo1 campo2
dove ID chiave primaria autoincrementale
campo1 è un INDEX
poi campo1 e campo2 insieme sono UNIQUE
Le chiavi UNIQUE e INDEX non dovrebbero essere assegnate entrambe per la
colonna `campo1`
pero' in realtà la colonna campo1 è UNIQUE non da sola ma insiema a
campo2: ci sono problemi?
oppure l'avviso in realtà non considera tale situazione?
Il campo2 non c'entra nulla. E' solo che campo1 non dovrebbe essere al
tempo stesso unique e index (ti sto semplicemente ripetendo il
messaggio di errore).

Quindi se vuoi che sia unique, rimuovi l'index.

Loading...