Heim >Datenbank >MySQL-Tutorial >Warum kürzt meine MySQL-Datenbank meine SteamID64 und wie kann ich das beheben?
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!