Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Sisipan Integer MySQL Saya Tidak Betul, dan Bagaimana Saya Boleh Membetulkannya?
Pemasukan Integer Salah MySQL: Mengenalpasti Punca dan Penyelesaian
Apabila cuba memasukkan integer ke dalam pangkalan data MySQL, anda mungkin menghadapi keadaan di mana nilai yang dimasukkan secara tidak dijangka berbeza daripada input yang dimaksudkan. Percanggahan ini boleh berlaku apabila nilai yang dimaksudkan melebihi saiz integer maksimum yang disokong oleh MySQL.
Dalam senario khusus yang dibentangkan, pengguna cuba memasukkan ID Steam64 (yang dikenal pasti oleh pembolehubah $steam64) ke dalam lajur steam64 daripada jadual MySQL. Selepas pelaksanaan, mereka mendapati integer yang dimasukkan adalah tidak betul.
Punca Punca:
Punca isu ini terletak pada had saiz integer maksimum MySQL. Jenis integer lalai MySQL, INT, mempunyai nilai maksimum 2,147,483,647. Mana-mana integer yang lebih besar daripada ini akan dipotong dan dimasukkan sebagai nilai maksimum.
Penyelesaian:
Untuk menyelesaikan isu ini, anda harus mengubah suai jenis data lajur steam64 kepada BIGINT. BIGINT menyokong integer dengan nilai maksimum 9,223,372,036,854,775,807, yang mencukupi untuk menyimpan ID Steam64 tanpa pemotongan. Pertanyaan SQL yang diubah suai akan menyerupai yang berikut:
$sql_query = "INSERT INTO users_info (steam64) VALUES ($steam64)";
Atas ialah kandungan terperinci Mengapa Sisipan Integer MySQL Saya Tidak Betul, dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!