Rumah  >  Artikel  >  pangkalan data  >  Di luar julat nilai untuk lajur 'column_name' pada baris 1 - Cara menyelesaikan ralat MySQL: data melebihi julat lajur baris 1

Di luar julat nilai untuk lajur 'column_name' pada baris 1 - Cara menyelesaikan ralat MySQL: data melebihi julat lajur baris 1

王林
王林asal
2023-10-05 09:21:372352semak imbas

Out of range value for column 'column_name' at row 1 - 如何解决MySQL报错:数据超出行1的列范围

Cara menyelesaikan ralat MySQL: Data melebihi julat lajur baris 1, contoh kod khusus diperlukan

Apabila menggunakan MySQL untuk operasi pangkalan data, kadangkala anda akan menemui mesej ralat: Nilai di luar julat untuk lajur 'column_name ' pada baris 1, iaitu, data melebihi julat lajur baris 1. Ralat ini biasanya berlaku apabila memasukkan atau mengemas kini data dan julat nilai melebihi nilai maksimum atau minimum lajur yang ditakrifkan oleh jadual. Artikel ini menerangkan cara menyelesaikan masalah ini dan menyediakan beberapa contoh kod khusus.

  1. Tentukan punca kesilapan
    Pertama, kita perlu tentukan punca kesilapan. Punca ralat boleh didapati dengan melakukan langkah berikut:

1.1 Semak definisi jadual
Sahkan cara lajur jadual ditakrifkan, termasuk jenis data, panjang, kekangan, dsb. Anda boleh menggunakan perintah DESCRIBE untuk melihat struktur jadual.

1.2 Semak data yang hendak dimasukkan atau dikemas kini
Pastikan bahawa data yang akan dimasukkan atau dikemas kini mematuhi julat yang ditentukan oleh jadual. Sebagai contoh, jika lajur ditakrifkan sebagai jenis TINYINT, maka julatnya ialah -128 hingga 127. Jika nilai yang hendak dimasukkan melebihi julat ini, julat lajur daripada baris 1 ralat akan berlaku.

  1. Bagaimana untuk menyelesaikan ralat
    Setelah punca ralat ditentukan, anda boleh mengambil langkah yang sesuai untuk menyelesaikan masalah tersebut. Berikut ialah beberapa penyelesaian biasa:

2.1 Ubah suai definisi jadual
Jika definisi jadual tidak sepadan dengan data yang akan dimasukkan atau dikemas kini, pertimbangkan untuk mengubah suai definisi jadual. Contohnya, jika lajur ditakrifkan sebagai jenis TINYINT, tetapi nilai yang akan dimasukkan melebihi julatnya, anda boleh menukar jenis data lajur kepada SMALLINT atau INT.

UBAH JADUAL nama_jadual
UBAHSUAI LAjur nama_nama jenis data;

2.2 Ubah suai data yang hendak dimasukkan atau dikemas kini
Jika data yang akan dimasukkan atau dikemas kini melebihi skop definisi jadual, anda boleh mempertimbangkan untuk mengubah suai data. Contohnya, jika anda ingin memasukkan nilai yang berada di luar julat jenis INT, anda boleh menukarnya kepada nilai dalam julat yang sesuai.

  1. Contoh Kod
    Berikut ialah beberapa contoh kod khusus untuk menyelesaikan data di luar ralat julat lajur untuk baris 1.

3.1 Contoh mengubah suai definisi jadual:

ALTER TABLE users
MODIFY COLUMN age SMALLINT;

Contoh ini menukar jenis data lajur "umur" dalam jadual "pengguna" daripada TINYINT kepada SMALLINT.

3.2 Contoh mengubah suai data yang hendak dimasukkan atau dikemas kini:

INSERT INTO employees (id, name, salary)
VALUES (1, 'John Doe', 999999999);

Contoh ini menunjukkan cara memasukkan nilai yang berada di luar julat jenis INT. Anda boleh menukar jenis data lajur "gaji" kepada BIGINT atau menukar nilai yang dimasukkan kepada nilai dalam julat yang sesuai.

Ringkasan:
Dengan menyemak definisi jadual dan data yang akan dimasukkan atau dikemas kini, kita boleh menentukan punca ralat julat data di luar lajur untuk baris 1. Bergantung pada punca ralat, kami boleh mengambil langkah yang sesuai untuk menyelesaikan masalah, termasuk mengubah suai definisi jadual atau mengubah suai data untuk dimasukkan atau dikemas kini. Contoh kod yang disediakan di atas boleh membantu anda memahami dengan lebih baik cara menyelesaikan ralat ini. Harap artikel ini membantu anda!

Atas ialah kandungan terperinci Di luar julat nilai untuk lajur 'column_name' pada baris 1 - Cara menyelesaikan ralat MySQL: data melebihi julat lajur baris 1. 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