Rumah >pangkalan data >tutorial mysql >Mengapa Pangkalan Data MySQL Saya Memotong SteamID64 Saya, dan Bagaimana Saya Boleh Membetulkannya?
Had Ketepatan Integer MySQL:
API Web Steam menyediakan integer 64-bit yang dikenali sebagai $steam64. Apabila memasukkan nilai ini ke dalam pangkalan data MySQL menggunakan pertanyaan INSERT INTO users_info (steam64) VALUES ('$steam64'), anda menghadapi percanggahan antara nilai yang disimpan dalam pembolehubah dan nilai yang dimasukkan ke dalam pangkalan data.
Ini kerana MySQL mempunyai had ketepatan untuk jenis integer. Nilai integer maksimum yang boleh disimpan dalam lajur integer ialah 2,147,483,647. Memandangkan nilai $steam64 melebihi had ini, MySQL memotongnya kepada nilai terbesar yang dibenarkan, iaitu 2,147,483,647.
Penyelesaian:
Untuk menyelesaikan isu ini, tukar lajur taip dari INT ke BIGINT. BIGINT boleh menyimpan integer sehingga 9,223,372,036,854,775,807, yang mencukupi untuk integer 64-bit.
Ubah suai definisi jadual untuk memasukkan perubahan berikut:
ALTER TABLE users_info MODIFY COLUMN steam64 BIGINT;
Selepas membuat pertanyaan ini akan berubah masukkan $steam64 64-bit yang betul nilai ke dalam pangkalan data.
Atas ialah kandungan terperinci Mengapa Pangkalan Data MySQL Saya Memotong SteamID64 Saya, dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!