MySQL Integer: Signert Vs. usignert

MySQL Integer: Signert Vs. usignert


MySQL database system gir utviklere med en rekke numeriske datatyper å velge mellom, inkludert ulike heltall typer. Utvalget av verdiene 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, de spesifiserer 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 å lage et bord med to heltall kolonner i det:

CREATE TABLE Objekter (
num_data INT usignerte,
other_num INT SIGNERT);

Standard er for heltall typekolonner skal undertegnes, slik at utviklere bare har en tendens til å indikere kolonner som de ønsker å bli usignerte bruke disse attributtene. Bruken av "signert" attributt har ingen effekt, selv om utviklerne noen ganger velger å bruke den til å lage koden klart. Den første kolonne i denne tabellen lagrer usignerte heltall, mens den andre kan lagre både negative og positive verdier.

verdi Range

Hvis en kolonne i et MySQL tabell benytter heltallsverdiene, vil omfanget av mulige verdier er avhengig av hvorvidt eller ikke den kolonne støtter signerte tall. For eksempel kan TINYINT type i MySQL holde usignerte verdier mellom null og 255, men kan holde signert verdier mellom -128 og 127. Utviklere derfor behov for å 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 et program.

Integer Typer

Samt å ha muligheten til å bruke signert eller usignerte tall, kan utviklere velge mellom ulike typer heltall. Disse varierer i størrelse i forhold til verdiene som støttes, med den minste typen vesen TINYINT og den største BIGINT. Mellom disse, i stigende rekkefølge er SMALLINT, MEDIUMINT og INT. Typen valgt bestemmer antall byte MySQL vil bevilge for hver verdi i en kolonne. Utviklere kan også velge å spesifisere antall biter de ønsker MySQL til å lagre per heltall.

operasjoner

Når web-applikasjoner bruker MySQL-databaser, kan de bruke systemet til å utføre aritmetiske operasjoner samt spørring og oppdatering av data. Når et program bruker beregninger, vil resultatene bli signert eller usignert avhengig av datatyper i de aktuelle kolonnene. For eksempel, avhengig av konfigurasjonen i et spesielt system, kan en subtraksjon operasjon resultere i en usignert resultat, selv når en av operandene er signert. Dette kan føre til uforutsigbare resultater i noen tilfeller.