MySQL database server er et vanlig open- source database , spesielt innen webutvikling. Det kan integreres med et bredt utvalg av skriptspråk , noe som gjør det nyttig for programmerere både erfarne og nye . Databaseservere , men er kompliserte dyr og MySQL er intet unntak . Sortering ut sine feil og bestemme beste praksis krever litt studie og erfaring. Betydning
Meldingen for feilkode 1062 i MySQL er " Duplicate entry [ entry value] for nøkkelen [ navnet på tasten ] . " Dette betyr at du forsøkte å sette inn data som dupliserer eksisterende data for en unik nøkkel . For eksempel, hvis du har en tabell av brukerkontoer og "brukernavn " er en unik nøkkel på denne tabellen , og en post med brukernavnet " exampleguy " allerede eksisterer i tabellen , hvis du prøver å sette inn en ny rad med brukernavnet " exampleguy ", vil du få en feilmelding med kode 1062
Mulige grunner
Den første årsaken å se etter er en legitim data innsetting kollisjon ; . for eksempel , du eller programvaren ikke kontrollere om data er en kopi før du prøver å sette det inn. En annen mulig årsak er at tabellen struktur ikke er riktig utformet . Hvis du oppdager at du ofte må sette inn like elementer , men disse elementene er definert i tabellen struktur som en unik nøkkel , så bordet design har et problem . Gjør at nøkkelen ikke unik.
Måter å unngå
Før du setter inn data i en database , " sunn fornuft sjekk " det. Når en tabell har en unik nøkkel , pass på at nøkkelen er ikke dupliseres før du setter inn . Også bruke unike nøkler bare der det er hensiktsmessig . I en tabell over nettstedet brukerne , for eksempel, bør ikke to kontoer har samme brukernavn , så gjør det "brukernavn" kolonnen en unik nøkkel og også sjekke at nye brukere ønsket brukernavn ikke er tatt før du setter sine nye kontodata inn database. Ikke gjør det "fornavn" kolonnen unik, da dette vil resultere i datakollisjoner .
Hensyn
p Det kan være fristende å bare fjerne alle unike indekser for å unngå arbeidet med å forebygge 1062 feil . Men unike nøkler betydelig raskere innhenting av data . I tillegg , for enkelte dataelementer er det bare fornuftig å håndheve entydighet , slik som tilfellet med brukernavnet kolonnen i en brukers tabell . Omvendt, unike nøkler er tregere til å skrive fordi indeksen filen må oppdateres , og bør bare brukes i tilfeller der du kan selvsagt forvente en nøkkel til å være unik .