Rumah > pangkalan data > tutorial mysql > Mengapa lajur integer MySQL saya menyimpan nilai yang salah?

Mengapa lajur integer MySQL saya menyimpan nilai yang salah?

Barbara Streisand
Lepaskan: 2024-12-13 09:46:11
asal
373 orang telah melayarinya

Why is my MySQL integer column storing incorrect values?

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')";
Salin selepas log masuk

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;
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan