Rumah >pangkalan data >tutorial mysql >Mengapa lajur integer MySQL saya menyimpan nilai yang salah?

Mengapa lajur integer MySQL saya menyimpan nilai yang salah?

Barbara Streisand
Barbara Streisandasal
2024-12-13 09:46:11377semak imbas

Why is my MySQL integer column storing incorrect values?

Memasukkan Integer Salah ke dalam MySQL

Apabila memasukkan integer ke dalam pangkalan data MySQL menggunakan pertanyaan SQL seperti yang disediakan:

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

Anda mungkin menghadapi masalah di mana integer yang dimasukkan berbeza daripada yang disimpan dalam Pembolehubah $steam64.

Penyiasatan

Menyahpepijat isu ini melibatkan pengesahan nilai $steam64 menggunakan var_dump atau gema, yang mengesahkan integer yang betul disimpan. Perbezaannya terletak pada had storan integer MySQL.

Penyelesaian

Nilai integer maksimum yang boleh disimpan oleh MySQL dalam medan int ialah 2147483647. Jika integer yang akan dimasukkan melebihi ini had, ia dipotong supaya muat, mengakibatkan nilai yang salah. Untuk menyelesaikan isu ini, tukar jenis data medan steam64 daripada int kepada bigint. Ini akan membenarkan penyimpanan integer yang lebih besar tanpa pemotongan.

CONTOH

ALTER TABLE users_info MODIFY steam64 BIGINT;

Atas ialah kandungan terperinci Mengapa lajur integer MySQL saya menyimpan nilai yang salah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn