Heim >Datenbank >MySQL-Tutorial >Warum speichert MySQL 2147483647 anstelle meines großen ganzzahligen Werts?

Warum speichert MySQL 2147483647 anstelle meines großen ganzzahligen Werts?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-25 21:46:21276Durchsuche

Why is MySQL Storing 2147483647 Instead of My Large Integer Value?

MySQL Importing Incorrect Integer: 2147483647

Beim Versuch, eine signifikante Ganzzahl in eine MySQL-Datenbank einzufügen, können Benutzer auf ein besonderes Problem stoßen, bei dem a Es ist eine andere Nummer als die vorgesehene gespeichert. Um tiefer in die Lösung einzutauchen, schauen wir uns das bereitgestellte Code-Snippet an:

$sql_query = "INSERT INTO users_info (steam64) VALUES ('$steam64')";

Es versucht, den in der Variablen $steam64 gespeicherten Wert in eine Datenbankspalte namens „steam64“ einzufügen. Benutzer berichten jedoch, dass der eingefügte Wert von dem in $steam64 enthaltenen Wert abweicht. Die Hauptursache für dieses Problem liegt im Datentyp der Spalte „steam64“. In MySQL ist der Standarddatentyp für Ganzzahlen INT, der Werte im Bereich von -2.147.483.648 bis 2.147.483.647 speichern kann.

In diesem Fall überschreitet der eingefügte Wert (2147483647) den Maximalwert, der von einer gespeichert werden kann INT-Datentyp. Infolgedessen konvertiert MySQL den Wert automatisch in die größte Ganzzahl, die es aufnehmen kann, nämlich 2147483647.

Um dieses Problem zu beheben, muss der Datentyp der Steam64-Spalte in BIGINT geändert werden. Dieser Datentyp verfügt über einen größeren Bereich unterstützter Werte und kann problemlos den Wert 2147483647 ohne Kürzung oder Konvertierung aufnehmen. Sobald der Datentyp geändert wird, wird der richtige Wert in die Datenbank eingefügt.

Das obige ist der detaillierte Inhalt vonWarum speichert MySQL 2147483647 anstelle meines großen ganzzahligen Werts?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn