Rumah >pangkalan data >tutorial mysql >Mengapa Pangkalan Data MySQL Saya Memotong SteamID64 Saya, dan Bagaimana Saya Boleh Membetulkannya?

Mengapa Pangkalan Data MySQL Saya Memotong SteamID64 Saya, dan Bagaimana Saya Boleh Membetulkannya?

Susan Sarandon
Susan Sarandonasal
2024-12-08 22:10:16657semak imbas

Why Does My MySQL Database Truncate My SteamID64, and How Can I Fix It?

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!

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