En av de mest frustrerende for en databasebruker er å finne dupliserte oppføringer på et bord. Selv om det er noen tilfeller der det å ha dupliserte verdier kan være en nødvendighet, skjer det sjelden.
Derfor, i stedet for å gå tilbake til bordet ditt for å filtrere og fjerne de dupliserte postene, er det bra å unngå problemet i utgangspunktet.
Heldigvis er det ikke et massivt tilsagn, takket være den unike begrensningen i SQL -serveren kan du sikre at dataene i en gitt kolonne er unike og ingen duplikatverdier eksisterer.
Bli med oss når vi lærer hva den unike begrensningen gjør.
SQL Server unik begrensning
Det er godt å tenke på funksjonaliteten til den unike begrensningen. Når du har opprettet en unik begrensning, oppretter SQL Server automatisk en unik indeks for operasjonen. Dette sikrer at databasemotoren kan håndheve dataens unike som definert av begrensningen.
La oss utforske hvordan vi kan bruke den unike begrensningen.
SQL Server Lag en tabell med unik begrensning
Følgende spørring oppretter en tabell med unike begrensninger:
Drop Database hvis eksisterer nettverk;De forrige uttalelsene setter IP_Address -kolonnen som unik. Dette sikrer at bare en oppføring med samme IP er lagt til i tabellen.
Du kan også stille en kolonne som unik, som vist i følgende:
Lag tabellinformasjon (Når vi har tabellen med en unik begrensning, kan vi legge til en ny post som følger:
Sett inn informasjon (brukernavn, ip_address, land, nettleser, byte)Den forrige innsatserklæringen legger til to poster i tabellen.
Hvis vi kjører den forrige uttalelsen på nytt, returnerer SQL-serveren en feil.
Brudd på unik nøkkelbegrensning 'uq__informat__5376bcc424ce6277'. Kan ikke sette inn duplikatnøkkel i objektet 'dbo.informasjon'. Duplikatnøkkelverdien er (88.241.248.129).
I dette tilfellet indikerer SQL -serveren at den forrige innsatserklæringen bryter reglene for den unike begrensningen.
SQL Server angir unik begrensning for flere kolonner
Du kan også tilordne en unik begrensning til mer enn en kolonne som angitt i følgende syntaks:
Lag tabell tabell_navn (SQL Server angir unik begrensning til eksisterende tabell
For å legge til en unik begrensning til en eksisterende tabell, kan du bruke Alter Table -kommandoen som vist i følgende syntaks:
ALTER TABLE TABLE_NAMEFor eksempel:
endre tabellinformasjonDen forrige spørringen legger til en unik begrensning til IP_Address -kolonnen.
SQL Server Drop unik begrensning
Du kan fjerne en eksisterende unik begrensning ved hjelp av Alter -tabellkommandoen som følger:
ALTER TABLE TABLE_NAMEEksempel:
Endre tabellinformasjonHusk at du ikke kan gjøre endringer i en eksisterende unik begrensning. For å endre en aktuell begrensning, må du derfor slippe den og deretter lage den på nytt med nye definisjoner.
Konklusjon
Takk for at du ble med oss i denne opplæringen. Denne guiden forklarte det grunnleggende om å jobbe med de unike begrensningene i en SQL -server.
Takk for at du leste. Vi sees i vår neste opplæring!