Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyelesaikan Ralat MySQL 1406: Data Terlalu Panjang untuk Lajur?

Bagaimana untuk Menyelesaikan Ralat MySQL 1406: Data Terlalu Panjang untuk Lajur?

Mary-Kate Olsen
Lepaskan: 2025-01-04 05:06:39
asal
884 orang telah melayarinya

How to Solve MySQL Error 1406: Data Too Long for Column?

Ralat MySQL: "1406. Data terlalu Panjang untuk Lajur"

Apabila cuba memasukkan data ke dalam jadual MySQL di mana panjang data lajur melebihi lebar yang ditentukan, anda Akan menemui "Kod Ralat: 1406. Data terlalu panjang untuk lajur" ralat.

Pertimbangkan contoh ini:

CREATE  TABLE `TEST` (
  `idTEST` INT NOT NULL ,
  `TESTcol` VARCHAR(45) NULL ,
  PRIMARY KEY (`idTEST`) 
);
Salin selepas log masuk

Memasukkan data dalam panjang lajur yang ditentukan berfungsi seperti yang diharapkan:

INSERT INTO TEST
VALUES
(
    1,
    'Vikas'
);
Salin selepas log masuk

Walau bagaimanapun, cuba memasukkan data yang melebihi panjang lajur maksimum mengakibatkan ralat:

INSERT INTO TEST
VALUES
(
    2,
    'Vikas Kumar Gupta Kratika Shukla Kritika Shukla'
);
Salin selepas log masuk

Ini berlaku kerana MySQL memotong sebarang nilai sisipan yang lebih panjang daripada lebar lajur yang ditentukan.

Penyelesaian:

Untuk menyelesaikan isu ini, lumpuhkan mod ketat MySQL buat sementara waktu:

Dalam my my Fail .ini (Windows) atau my.cnf (Unix):

Edit Tetapan "sql-mode" untuk mengalih keluar "STRICT_TRANS_TABLES":

# Set the SQL mode to strict
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
Salin selepas log masuk

Menggunakan pertanyaan SQL dalam alat pengurusan pangkalan data:

Laksanakan pertanyaan berikut untuk menetapkan mod SQL global untuk mengosongkan:

SET @@global.sql_mode= '';
Salin selepas log masuk

Dengan mod ketat dilumpuhkan, anda boleh memasukkan data yang melebihi panjang lajur. Walau bagaimanapun, berhati-hati kerana ini boleh menyebabkan pemangkasan data dan ketidakkonsistenan, jadi gunakan penyelesaian ini dengan bijak.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat MySQL 1406: Data Terlalu Panjang untuk Lajur?. 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