Wenn Sie Einrichten einer SQL-Datenbank -Tabelle mit Feldern wie BIGINT anstatt INT aufgelistet , verbraucht dies mehr Platz, sondern bietet Ihnen eine weitaus größere Bandbreite von Zahlen, die gespeichert werden können. Allerdings, wenn Sie sich entscheiden, müssen Sie nicht mehr , dass die zusätzlichen Platz , oder wenn Sie die Daten in einer Anwendung, die nicht unterstützt BIGINTs auszugeben, und Sie müssen sich wohl fühlen Abschneiden keine Werte größer als das Maximum für INT, dann möchten Sie vielleicht zu CAST bis INTs . Leider haben viele Datenbanken, einschließlich MySQL, nicht direkt erlauben Gießen zwischen verschiedenen Arten von Zahlen , aber es ist ein Workaround mittels dynamischer Casting. Anleitung
1
Öffnen Sie Ihre Datenbank -Client. Zum Beispiel, um MySQL zu öffnen, geben Sie Folgendes in das Terminal :
mysql
2
Geben Sie den folgenden , um eine einfache Tabelle mit Werten gefüllt BIGINT erstellen :
CREATE TABLE testt ( anInt BIGINT );
INSERT INTO testt ( anInt ) values ( 123432 );
INSERT INTO testt ( anInt ) values ( 432432432 );
INSERT INTO testt ( anInt ) values ( 5344432423 );
INSERT INTO testt ( anInt ) values ( 432432432443243243243243232432 );
3
erstellen Sie die Funktion, die die Konvertierung ausführen soll :
CREATE FUNCTION BigToInt ( n BIGINT ) INTEGER RETURN n Erträge;
wie Sie sehen können , ist die Funktion sehr kurz und einfach: es dauert eine BIGINT und sofort gibt es als eine gewöhnliche Integer. Allerdings ist eine Folge davon , dass einige der Daten nach unten wird auf den größtmöglichen Wert für Int abgeschnitten.