Rumah >pangkalan data >tutorial mysql >Mengapa lajur integer MySQL saya menyimpan nilai yang salah?
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!