Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Nilai Integer Besar Saya Dipotong dalam MySQL Apabila Dimasukkan daripada PHP?
Isu Sisipan Integer MySQL
Apabila cuba memasukkan nilai integer ke dalam pangkalan data MySQL menggunakan PHP, anda mungkin menghadapi tingkah laku yang tidak dijangka di mana nilai yang disisipkan berbeza daripada nilai yang disimpan dalam pembolehubah anda. Isu ini boleh timbul apabila nilai integer melebihi had maksimum untuk jenis data integer MySQL.
Dalam MySQL, jenis data integer lalai (INT) mempunyai nilai maksimum 2147483647. Jika anda cuba memasukkan nilai yang lebih besar daripada had ini, MySQL akan memotong nilai secara automatik dan memasukkan 2147483647 ke dalam pangkalan data.
Untuk menyelesaikan isu ini, anda boleh menukar jenis data lajur dalam pangkalan data anda kepada BIGINT. BIGINT ialah jenis data integer 64-bit yang boleh menampung nilai yang lebih besar, termasuk nombor yang melebihi had integer lalai MySQL.
Untuk mengubah suai jenis data lajur dalam MySQL, anda boleh menggunakan arahan SQL berikut:
ALTER TABLE table_name MODIFY column_name BIGINT;
Selepas menukar jenis data, anda boleh memasukkan nilai integer menggunakan coretan kod yang sama seperti sebelum ini. Nilai kini harus dimasukkan dengan betul ke dalam pangkalan data.
Atas ialah kandungan terperinci Mengapa Nilai Integer Besar Saya Dipotong dalam MySQL Apabila Dimasukkan daripada PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!