Heim >Datenbank >MySQL-Tutorial >Warum kürzt meine MySQL-Datenbank meine SteamID64 und wie kann ich das beheben?

Warum kürzt meine MySQL-Datenbank meine SteamID64 und wie kann ich das beheben?

Susan Sarandon
Susan SarandonOriginal
2024-12-08 22:10:16657Durchsuche

Why Does My MySQL Database Truncate My SteamID64, and How Can I Fix It?

MySQL-Ganzzahlgenauigkeitsbeschränkung:

Die Steam-Web-API stellt eine 64-Bit-Ganzzahl namens $steam64 bereit. Wenn Sie diesen Wert mit der Abfrage INSERT INTO users_info (steam64) VALUES ('$steam64') in eine MySQL-Datenbank einfügen, stoßen Sie auf eine Diskrepanz zwischen dem in der Variablen gespeicherten Wert und dem in die Datenbank eingefügten Wert.

Dies liegt daran, dass MySQL eine Genauigkeitsbeschränkung für Ganzzahltypen hat. Der maximale Ganzzahlwert, der in einer Ganzzahlspalte gespeichert werden kann, beträgt 2.147.483.647. Da der $steam64-Wert diesen Grenzwert überschreitet, kürzt MySQL ihn auf den größten zulässigen Wert, der 2.147.483.647 ist.

Lösung:

Um dieses Problem zu beheben, ändern Sie die Spalte Typ von INT bis BIGINT. BIGINT kann Ganzzahlen bis zu 9.223.372.036.854.775.807 speichern, was für 64-Bit-Ganzzahlen ausreichend ist.

Ändern Sie die Tabellendefinition, um die folgende Änderung einzuschließen:

ALTER TABLE users_info MODIFY COLUMN steam64 BIGINT;

Nach dieser Änderung wird die Abfrage ausgeführt Fügen Sie den korrekten 64-Bit-$steam64-Wert in das ein Datenbank.

Das obige ist der detaillierte Inhalt vonWarum kürzt meine MySQL-Datenbank meine SteamID64 und wie kann ich das beheben?. 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