Einfügen einer falschen Ganzzahl in MySQL
Beim Einfügen einer Ganzzahl in eine MySQL-Datenbank mithilfe einer SQL-Abfrage wie der bereitgestellten:
$sql_query = "INSERT INTO users_info (steam64) VALUES ('$steam64')";
Möglicherweise tritt ein Problem auf, bei dem sich die eingefügte Ganzzahl von der in $steam64 gespeicherten unterscheidet Variable.
Untersuchung
Um dieses Problem zu beheben, muss der Wert von $steam64 mithilfe von var_dump oder echo überprüft werden, wodurch bestätigt wird, dass die richtige Ganzzahl gespeichert ist. Der Unterschied liegt in den Ganzzahlspeicherbeschränkungen von MySQL.
Lösung
Der maximale Ganzzahlwert, den MySQL in einem Int-Feld speichern kann, ist 2147483647. Wenn die einzufügende Ganzzahl diesen Wert überschreitet Wenn die Grenze überschritten wird, wird sie passend gekürzt, was zu einem falschen Wert führt. Um dieses Problem zu beheben, ändern Sie den Datentyp des Steam64-Felds von int in bigint. Dies ermöglicht die Speicherung größerer Ganzzahlen ohne Kürzung.
BEISPIEL
ALTER TABLE users_info MODIFY steam64 BIGINT;
Das obige ist der detaillierte Inhalt vonWarum speichert meine MySQL-Integer-Spalte falsche Werte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!