MySQL UNIK – Ställ in kolumner som unika
Lär dig hur du med MySQL-script-mallen ställer in en kolumn som unik, förhindrar dubbla värden och känner igen en unik kolumn direkt i tabellvyn.
Målet med guiden
Du lär dig hur du sätter en databas-kolumn i bluetronix CMS som UNIQUE. Därmed kan samma värde inte sparas flera gånger i denna kolumn.
Detta är till exempel meningsfullt när en tabell endast får ha e-postadresser, telefonnummer eller kundnummer en gång.
Utgångsläge utan UNIK
I vårt exempel använder vi tabellen Contacts med kolumnerna ID, Phone och Name. Telefonnummer +49 263 43628376 finns redan i post Smith.
Så länge kolumnen Phone inte är inställd som UNIQUE, kan samma telefonnummer registreras igen.
Efter att ha sparat finns den extra posten. Telefonnummer förekommer därmed flera gånger i kolumnen Phone.
Ställ in kolumn med UNIK.
Öppna MySQL - Script och välj mallen Ställ in kolumnen i tabellen som unik (UNIQUE). Justera sedan kommandot till din tabell och den önskade kolumnen.
För tabellen Contacts och kolumnen Phone används följande kommando i exemplet:
ALTER TABLE Contacts ADD CONSTRAINT unique_user UNIQUE (Phone);
Efter att ha kört kommandot bekräftar CMS under MySql-meddelande att kommandot har körts framgångsrikt. Kolumnen Phone är därmed inställd som unik.
Testa dubbelt värde igen
Nu försöker man återigen spara det redan befintliga telefonnumret +49 263 43628376 som en ny post.
Eftersom kolumnen nu är UNIQUE får samma värde inte sparas igen. Vid sparande avvisas därför den dubbla posten och ett fel uppstår.
Viktigt: UNIQUE förhindrar dubbletter direkt på databasnivå. Därmed kan ett värde som redan finns i den unika kolumnen inte sparas igen.
Känna igen UNIK-kolumn i CMS
I tabellvyn kan du föra muspekaren över den aktuella kolumnen. För en UNIQUE-kolumn visar CMS en indikation på att varje post endast får förekomma en gång i denna kolumn.
Typiska användningsområden
UNIQUE är användbart när vissa uppgifter inte ska förekomma flera gånger i samma kolumn. Typiska exempel är:
- E-Mail-Adressen bei einem Newsletter
- Telefon- oder Handynummern
- Kundennummern
Med detta kan du redan på databasnivå förhindra att samma unika värde sparas flera gånger.
Sammanfattning
Med mallen Ställ in kolumnen i tabellen som unik (UNIQUE) kan du ställa in en kolumn så att varje värde endast får förekomma en gång. I exemplet sätts kolumnen Phone i tabellen Contacts till UNIQUE. Därefter avvisas en ny inmatning av samma telefonnummer vid sparandet. I tabellvyn visar CMS dessutom en lämplig UNIQUE-indikation för den aktuella kolumnen.
FAQ
vad kunder ofta frågar oss
Vad betyder UNIQUE för en databas-kolumn?
UNIQUE betyder att samma värde inte får sparas flera gånger inom denna kolumn.
Vad kan jag använda UNIQUE till?
UNIQUE är lämpligt för värden som endast ska förekomma en gång, till exempel e-postadresser, telefonnummer eller kundnummer.
Var kan jag ställa in en kolumn i bluetronix CMS som UNIQUE?
Öppna MySQL - Script och använd mallen för att ställa in kolumnen i tabellen som unik (UNIQUE).
Vilket MySQL-kommando används i exemplet?
I tutorialen används ALTER TABLE Contacts ADD CONSTRAINT unique_user UNIQUE (Phone);.
Vilken tabell används i exemplet?
Exemplet använder tabellen Contacts med kolumnerna ID, Phone och Name.
Vilken kolumn sätts till UNIQUE i exemplet?
Kolumnen Phone sätts till UNIQUE.
Vad händer utan UNIQUE vid ett dubblettvärde?
Utan UNIQUE kan samma telefonnummer sparas igen i det visade exemplet.
Vad händer efter att UNIQUE sätts vid ett dubblettvärde?
Dubblettvärdet avvisas vid sparande och ett fel uppstår.
Hur känner jag igen en UNIQUE-kolumn i CMS?
När du för muspekaren över den aktuella kolumnen visar CMS en indikation på att varje post endast får förekomma en gång i denna kolumn.
Kan jag använda UNIQUE för nyhetsbrev-e-postadresser?
Ja. Det gör att du kan förhindra att samma e-postadress sparas flera gånger i den aktuella kolumnen.
Kan jag använda UNIQUE för telefonnummer?
Ja. I guiden visas just detta användningsfall med kolumnen Phone.
Kan jag använda UNIQUE för kundnummer?
Ja. Om varje kundnummer endast ska förekomma en gång är UNIQUE lämpligt för det.
Varför är UNIQUE meningsfullt?
UNIQUE förhindrar dubblett unika värden direkt på databasanivå och hjälper därmed till att undvika dubbletta poster i de aktuella kolumnerna.