MySQL UNIQUE – Sætte kolonner som unikke
Lær, hvordan du med MySQL-skript-skabelonen sætter en kolonne til UNIQUE, forhindrer dubletværdier og genkender en UNIQUE-kolonne direkte i tabelvisningen.
Mål med vejledningen
Du lærer, hvordan du sætter en databasekolonne i bluetronix CMS til UNIQUE. Dermed kan den samme værdi ikke gemmes flere gange i denne kolonne.
Dette er for eksempel meningsfuldt, når der i en tabel kun må optræde E-mail-adresser, telefonnumre eller kundenumre én gang.
Udgangssituation uden UNIQUE
I vores eksempel bruger vi tabellen Contacts med kolonnerne ID, Phone og Name. Telefonnummeret +49 263 43628376 findes allerede i datasættet Smith.
Så længe kolonnen Phone ikke er sat til UNIQUE, kan det samme telefonnummer indtastes igen.
Efter gemmelse er det ekstra datasæt til stede. Telefonnummeret optræder dermed flere gange i kolonnen Phone.
Sætte kolonne med UNIQUE som unik
Åbn MySQL - Script og vælg skabelonen Tabellen kolonne sætte til unik (UNIQUE). Derefter tilpasser du kommandoen til din tabel og den ønskede kolonne.
For tabellen Contacts og kolonnen Phone anvendes følgende kommando i eksemplet:
ALTER TABLE Contacts ADD CONSTRAINT unique_user UNIQUE (Phone);
Efter udførelsen bekræfter CMS under MySql-meddelese, at kommandoen er blevet udført med succes. Kolonnen Phone er dermed sat til unik.
Teste dubletværdi igen
Nu forsøges det igen at gemme det allerede eksisterende telefonnummer +49 263 43628376 som et nyt datasæt.
Da kolonnen nu er UNIQUE, må den samme værdi ikke gemmes igen. Ved gemmelse afvises den dublerede post, og der opstår en fejl.
Vigtigt: UNIQUE forhindrer dublerede værdier direkte på database-niveau. Dette betyder, at en værdi, der allerede findes i den unikke sætning, ikke kan gemmes igen.
Genkende UNIQUE-kolonne i CMS
I tabelvisningen kan du føre musen over den relevante kolonne. I en UNIQUE-kolonne viser CMS en meddelelse om, at hver post kun må optræde én gang i denne kolonne.
Typiske anvendelsesmuligheder
UNIQUE er nyttigt, når bestemte oplysninger ikke må optræde dobbelt i den samme kolonne. Typiske eksempler er:
- E-Mail-Adressen bei einem Newsletter
- Telefon- oder Handynummern
- Kundennummern
Dette kan allerede på database-niveau forhindre, at den samme unikke værdi gemmes flere gange.
Sammendrag
Med skabelonen Tabellen kolonne sætte til unik (UNIQUE) kan du angive en kolonne, så hver værdi kun må optræde én gang. I eksemplet bliver kolonnen Phone i tabellen Contacts sat til UNIQUE. Derefter afvises et nyt indlæg af det samme telefonnummer ved gemmelse. I tabelvisningen viser CMS en tilsvarende UNIQUE-meddelelse for den relevante kolonne.
FAQ
hvad kunder ofte spørger os
Hvad betyder UNIQUE for en databasekolonne?
UNIQUE betyder, at den samme værdi ikke må gemmes flere gange i denne kolonne.
Hvad kan jeg bruge UNIQUE til?
UNIQUE er nyttig til værdier, der kun skal optræde én gang, som for eksempel E-mail-adresser, telefonnumre eller kundenumre.
Hvor kan jeg sætte en kolonne til UNIQUE i bluetronix CMS?
Åbn MySQL - Script og brug skabelonen Tabeller kolonne sætte til unik (UNIQUE).
Hvilken MySQL-kommando bruges i eksemplet?
I tutorialen anvendes ALTER TABLE Contacts ADD CONSTRAINT unique_user UNIQUE (Phone);.
Hvilken tabel bruges i eksemplet?
Eksemplet bruger tabellen Contacts med kolonnerne ID, Telefon og Navn.
Hvilken kolonne sættes til UNIQUE i eksemplet?
Kolonnen Telefon sættes til UNIQUE.
Hvad sker der uden UNIQUE ved en dobbelt værdi?
Uden UNIQUE kan den samme telefonnummer gemmes igen i det viste eksempel.
Hvad sker der efter at have sat UNIQUE ved en dobbelt værdi?
Den doble værdi afvises ved gemmingen, og der opstår en fejl.
Hvordan genkender jeg en UNIQUE-kolonne i CMS?
Når du holder musen over den relevante kolonne, viser CMS et hint, om at hver post kun må optræde én gang i denne kolonne.
Kan jeg bruge UNIQUE til nyhedsbrev-e-mailadresser?
Ja. Det forhindrer, at den samme e-mailadresse gemmes flere gange i den relevante kolonne.
Kan jeg bruge UNIQUE til telefonnumre?
Ja. I tutorialen vises netop denne anvendelse med kolonnen Telefon.
Kan jeg bruge UNIQUE til kundenumre?
Ja. Hvis hvert kundenummer kun skal optræde én gang, er UNIQUE passende.
Hvorfor er UNIQUE fornuftigt?
UNIQUE forhindrer dublerede unikke værdier direkte på database niveau og hjælper dermed med at undgå dublerede poster i den relevante kolonne.