The MySQL database gir utviklere med en rekke numeriske datatyper å velge fra , inkludert ulike heltall typer. Utvalget av verdier du kan lagre i en database ved hjelp av heltall avhenger av om verdiene er signert eller usignert . Signerte og usignerte heltall er også representert litt annerledes i SQL-setninger . Når utviklere utføre aritmetiske operasjoner i MySQL , kan resultatene være signert eller usignert , avhengig av omstendighetene . Uttalelser
Når utviklere lage tabeller i en MySQL database , angir de datatypen for hver kolonne . Når erklære en kolonne med et heltall type, kan en utvikler velge å spesifisere om det er signert . Følgende eksempelkode demonstrerer en MySQL uttalelse for å skape et bord med to heltall kolonner i det : en
CREATE TABLE Objekter ( num_data INT UNSIGNED , other_num INT SIGNERT ) ;
Standard er for heltall type kolonner som skal undertegnes , slik at utviklere bare har en tendens til å indikere kolonner de ønsker å være usignert bruke disse attributtene . Bruken av " signert " attributt har ingen effekt , selv om utviklerne noen ganger velger å bruke det til å gjøre koden sin klart. Den første kolonnen i denne tabellen lagrer usignerte heltall , mens andre kan lagre både negative og positive verdier .
Verdiområdet
p Hvis en kolonne i en MySQL tabell bruker heltall verdier , vil omfanget av mulige verdier avhenger av hvorvidt kolonnen støtter signert tall. For eksempel kan tinyint typen i MySQL holde usignerte verdier mellom null og 255 , men kan holde signerte verdier mellom -128 og 127 . Utviklere må derfor vurdere hvorvidt en kolonne kommer til å lagre signerte tall når du velger en numerisk type som vil støtte et bredt nok spekter av verdier for en søknad .
Heltall Typer
tillegg til å ha muligheten til å bruke signert eller usignert tall, kan utviklere velge mellom ulike typer heltall . Disse varierer i størrelse i forhold til verdiene som støttes , med den minste typen blir tinyint og den største BIGINT . Mellom disse, i stigende rekkefølge er SMALLINT , MEDIUMINT og INT . Typen valgt bestemmer antall bytes MySQL vil bevilge for hver verdi i en kolonne. Utviklere kan også velge å spesifisere antall biter de ønsker MySQL til å lagre per heltall .
Operations
Når webprogrammer bruker MySQL-databaser , de kan bruke systemet for å utføre aritmetiske operasjoner samt spørring og oppdatering av data . Når et program bruker beregninger , vil resultatene være signert eller usignert avhengig av datatyper i kolonnene bekymret. For eksempel , avhengig av konfigurasjonen i et bestemt system , kan en subtraksjon resultere i en usignert resultat, selv der hvor en av operandene er signert . Dette kan føre til uforutsigbare resultater i enkelte tilfeller.