MySQL UNIQUE – sette kolonner som unike
Lær hvordan du setter en kolonne til UNIQUE med MySQL-scriptmalen, forhindrer dupliserte verdier og gjenkjenner en UNIQUE-kolonne direkte i tabellvisningen.
Målet med veiledningen
Du lærer hvordan du setter en databasedeklarasjon i bluetronix CMS til UNIQUE. Dette gjør at den samme verdien ikke kan lagres flere ganger i denne kolonnen.
Dette er for eksempel nyttig når du har E-postadresser, Telefonnumre eller Kundenumre i en tabell som kun skal forekomme én gang.
Utgangssituasjon uten UNIQUE
I vårt eksempel bruker vi tabellen Contacts med kolonnene ID, Phone og Name. Telefonnummeret +49 263 43628376 finnes allerede i posten Smith.
Så lenge kolonnen Phone ikke er satt til UNIQUE, kan det samme telefonnummeret legges inn igjen.
Etter lagringen er den ekstra posten til stede. Telefonnummeret forekommer dermed flere ganger i kolonnen Phone.
Sette kolonne med UNIQUE som unik
Åpne MySQL - Script og velg malen Sett tabellkolonne til unik (UNIQUE). Deretter tilpasser du kommandoen til tabellen din og ønsket kolonne.
For tabellen Contacts og kolonnen Phone brukes følgende kommando i eksemplet:
ALTER TABLE Contacts ADD CONSTRAINT unique_user UNIQUE (Phone);
Etter kjøring bekrefter CMS under MySql-Meldung at kommandoen ble utført med hell. Kolonnen Phone er dermed satt til unik.
Teste duplikatverdi på nytt
Nå prøver vi på nytt å lagre det allerede eksisterende telefonnummeret +49 263 43628376 som en ny post.
Siden kolonnen nå er UNIQUE, kan ikke den samme verdien lagres på nytt. Ved lagring vil den dupliserte posten derfor bli avvist, og det oppstår en feil.
Viktig: UNIQUE forhindrer duplikater direkte på databasenivå. Det betyr at en verdi som allerede finnes i den unike kolonnen, ikke kan lagres på nytt.
Gjenkjenne UNIQUE-kolonne i CMS
I tabellvisningen kan du føre musen over den aktuelle kolonnen. For en UNIQUE-kolonne vil CMS vise et varsel om at hver post kun kan forekomme én gang i denne kolonnen.
Typiske bruksområder
UNIQUE er alltid nyttig når visse opplysninger ikke skal forekomme to ganger i samme kolonne. Typiske eksempler er:
- E-Mail-Adressen bei einem Newsletter
- Telefon- oder Handynummern
- Kundennummern
Dermed kan du allerede på databasenivå forhindre at den samme unike verdien lagres flere ganger.
Sammendrag
Med malen Sett tabellkolonne til unik (UNIQUE) kan du spesifisere en kolonne slik at hver verdi kun kan forekomme én gang. I eksemplet settes kolonnen Phone i tabellen Contacts til UNIQUE. Deretter vil et nytt innlegg av det samme telefonnummeret bli avvist ved lagring. I tabellvisningen viser CMS også et tilsvarende UNIQUE-varsel for den aktuelle kolonnen.
FAQ
hva kunder ofte spør oss om
Hva betyr UNIQUE for en databasedeklarasjon?
UNIQUE betyr at den samme verdien ikke kan lagres flere ganger i denne kolonnen.
Hva kan jeg bruke UNIQUE til?
UNIQUE er nyttig for verdier som bare skal forekomme én gang, for eksempel e-postadresser, telefonnumre eller kundenumre.
Hvordan kan jeg sette en kolonne til UNIQUE i bluetronix CMS?
Åpne MySQL - Script og bruk malen Sett tabellkolonne til unik (UNIQUE).
Hvilken MySQL-kommando brukes i eksemplet?
I opplæringen brukes kommandoen ALTER TABLE Contacts ADD CONSTRAINT unique_user UNIQUE (Phone);.
Hvilken tabell brukes i eksemplet?
Eksemplet bruker tabellen Kontakter med kolonnene ID, Telefon og Navn.
Hvilken kolonne settes til UNIQUE i eksemplet?
Kolonnen Telefon settes til UNIQUE.
Hva skjer uten UNIQUE ved en dobbeltverdi?
Uten UNIQUE kan samme telefonnummer lagres på nytt i det viste eksemplet.
Hva skjer etter at UNIQUE er satt ved en dobbeltverdi?
Den doble verdien vil bli avvist ved lagring, og det vil oppstå en feil.
Hvordan kjenner jeg igjen en UNIQUE-kolonne i CMS?
Når du holder musen over den aktuelle kolonnen, viser CMS en melding om at hvert inntak kun kan eksistere én gang i denne kolonnen.
Kan jeg bruke UNIQUE for nyhetsbrev-e-postadresser?
Ja. Dette forhindrer at samme e-postadresse lagres flere ganger i den aktuelle kolonnen.
Kan jeg bruke UNIQUE for telefonnumre?
Ja. I opplæringen vises nettopp dette bruksområdet med kolonnen Telefon.
Kan jeg bruke UNIQUE for kundenumre?
Ja. Hvis hvert kundenummer kun skal forekomme én gang, er UNIQUE passende for dette.
Hvorfor er UNIQUE nyttig?
UNIQUE forhindrer doble unike verdier direkte på databasenivå og bidrar dermed til å unngå doble oppføringer i den aktuelle kolonnen.