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
950 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!

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