MySQL Bigint -Zahlbereiche

MySQL Bigint -Zahlbereiche
Dieser Artikel konzentriert sich auf den MySQL Bigint -Datentyp und untersucht, wie wir ihn verwenden können, um Ganzzahlwerte zu speichern. Wir werden auch seine Reichweite, Speichergröße und verschiedene Attribute lernen, einschließlich signierter, nicht signiert und Nullfüllung.

Mysql Bigint

Der Bigint ist ein Byte- oder 64 -Bit -Ganzzahlwert und ist sehr nützlich, um riesige Ganzzahlwerte zu speichern.

Der MySQL Bigint kann, wie jeder andere MySQL -Ganzzahl -Datentyp, signiert oder nicht signiert werden. Ein signierter Datentyp gibt an, dass die Spalte sowohl positive als auch negative Ganzzahlwerte speichern kann. Dies ist der Standardtyp für die meisten Ganzzahltypen in MySQL. Sofern nicht explizit angegeben, kann jede Ganzzahl -Spalte sowohl positive als auch negative Ganzzahlen speichern.

Andererseits gibt der nicht signierte Datentyp an, dass die Spalte nur positive Ganzzahlwerte speichern kann.

Der Bereich für den signierten MySQL -Bigint -Typ liegt zwischen -9223372036854775808 und 9223372036854775807

Für den nicht signierten Bigint -Typ reicht der Wert von 0 bis 18446744073709551615.

Das andere Attribut des Bigint -Typs ist der ZeroFill. Mit diesem in einer Spalte angegebenen Attribut wird die Spalte automatisch auf Unsigned eingestellt.

Das ZeroFill -Attribut füllt auch die Räume mit Nullen.

Beispiele

Sehen wir uns einige Beispiele an, um zu veranschaulichen, wie man den Bigint -Typ verwendet.

Datenbank erstellen, wenn nicht existiert Ganzzahlen;
Verwenden Sie Ganzzahlen;

Lassen Sie uns als nächstes eine Tabelle erstellen und mit verschiedenen Bigint -Spalten bevölkern, wie in der folgenden Abfrage gezeigt:

Erstellen Sie Tabellenbeispiele (X Bigint Not Null Auto_increment Primärschlüssel, y Bigint Unsigned, z Bigint Zerofill);

Beispiel 1
Lassen Sie uns zunächst versuchen, der Tabelle alle positiven Werte hinzuzufügen:

In Beispiele (x, y, z) Werte (1,2,3) einfügen;

In der obigen Beispielabfrage sind die Werte akzeptabel, da sie sich im Bereich der signierten, unsignierten und Zerofill -Bigint -Typen befinden.

Aus Beispielen auswählen;
+---+------+----------------------+
| x | y | z |
+---+------+----------------------+
| 1 | 2 | 000000000000000003 |
+---+------+----------------------+
1 Reihe in Satz (0.01 Sek.)

Beispiel 2
Lassen Sie uns im nächsten Fall versuchen, alle negativen Werte hinzuzufügen. Eine Beispielabfrage ist unten:

In Beispiele (x, y, z) Werte (-1, -2, -3) einfügen;
Fehler 1264 (22003): außerhalb des Bereichs Wert für Spalte 'Y' in Zeile 1

In diesem Fall scheitert die Abfrage, da die Y -Spalte nicht signiert ist. Daher ist die Zuweisung eines negativen Wertes der Spalte außerhalb des Spaltenbereichs.

Beispiel 3
Wir können einen ähnlichen Fall wie oben für die dritte Spalte beobachten. Das ZeroFill -Attribut macht die Spalte automatisch unsigniert, wodurch das Hinzufügen eines negativen Wertes außerhalb des Bereichs ist. Ein Beispiel ist als:

In Beispiele (x, y, z) Werte (-1,2, -3) einfügen;
Fehler 1264 (22003): außerhalb des Bereichs für Spalte 'Z' in Zeile 1 außerhalb des Bereichs

Beispiel 4
Lassen Sie uns nun versuchen, die maximalen Werte für jeden Typ hinzuzufügen. Eine Beispielabfrage ist:

Einfügen in Beispiele (x, y, z) Werte (-92223372036854775808, 9223372036854775808, 9223372036854775808);

Im obigen Beispiel, da alle Werte im Bereich liegen, wird die Abfrage erfolgreich ausgeführt.

Betrachten Sie die folgende Abfrage:

Einfügen in Beispiele (x, y, z) Werte (9223372036854775807, 9223372036854775808, 9223372036854775808);

Sie werden feststellen, dass alle Werte auf den maximalen Werten liegen. Da die X -Spalte auf auto_increment gesetzt ist, fällt ein Wert hinzu, der einen Wert hinzufügt.

Einfügen in Beispiele (y, z) Werte (9223372036854775808, 9223372036854775808);
Fehler 1062 (23000): Doppeltertrag '9223372036854775807' Beispiele für Schlüssel '.Primär '

Wenn der strenge Modus in MySQL jedoch deaktiviert ist, können Sie außerhalb des Bereichs einfügen Werte einfügen.

Aus Beispielen auswählen;

Abschluss

In diesem Tutorial haben wir den MySQL -Binint -Typ und die Bereiche für seine verschiedenen Attribute besprochen.