Computer >> Máy Tính >  >> Lập trình >> MySQL

Lỗi MySQL:"Dữ liệu quá dài cho cột" là gì?

Lỗi "Dữ liệu quá dài cho cột" xảy ra khi bạn chèn thêm dữ liệu cho một cột không có khả năng lưu trữ dữ liệu đó.

Ví dụ - Nếu bạn có kiểu dữ liệu là varchar (6) có nghĩa là nó chỉ lưu trữ 6 ký tự. Do đó, nếu bạn nhập nhiều hơn 6 ký tự thì nó sẽ báo lỗi.

Hãy để chúng tôi tạo một bảng để hiểu lỗi. Truy vấn để tạo bảng như sau -

mysql> create table DataToolongDemo
  −> (
  −> Name varchar(10)
   −> );
Query OK, 0 rows affected (0.55 sec)

Trên đây là chúng ta đã tạo bảng thành công. Chúng tôi đã đặt một trường “Tên” với “varchar (10). Bây giờ, nếu chúng tôi đưa ra nhiều hơn 10 ký tự, một lỗi sẽ tạo ra.

Lỗi như sau -

mysql> insert into DataToolongDemo values('Carol Taylor');
ERROR 1406 (22001): Data too long for column 'Name' at row 1

Để khắc phục lỗi trên, bạn có thể đặt loại thành văn bản dài. Truy vấn như sau để thay đổi kiểu thành văn bản dài, vì hiện tại kiểu là “varchar” -

mysql> alter table DataToolongDemo change Name Name longtext;
Query OK, 0 rows affected (2.22 sec)
Records: 0 Duplicates: 0 Warnings: 0

Bây giờ nếu bạn chèn cùng một bản ghi thì sẽ không có lỗi nào được tạo ra -

mysql> insert into DataToolongDemo values('Carol Taylor');
Query OK, 1 row affected (0.11 sec)

Hiển thị tất cả các bản ghi từ bảng với sự trợ giúp của câu lệnh select. Truy vấn như sau -

mysql> select *from DataToolongDemo;

Sau đây là kết quả -

+--------------+
| Name         |
+--------------+
| Carol Taylor |
+--------------+
1 row in set (0.00 sec)