Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Khắc phục “LỖI 1136 (21S01):Số cột không khớp với số giá trị ở hàng 2” khi sử dụng Câu lệnh VALUES trong MySQL

Nếu bạn gặp lỗi có nội dung như “ ERROR 1136 (21S01):Số cột không khớp với số giá trị ở hàng 2 ”Khi sử dụng VALUES trong MySQL, có thể là do số cột được chỉ định trong ROW() không khớp mệnh đề.

Để khắc phục lỗi này, hãy đảm bảo rằng tất cả ROW() các mệnh đề chứa chính xác cùng một số cột.

Ví dụ về Lỗi

Dưới đây là một ví dụ về mã sẽ tạo ra lỗi:

VALUES ROW(1, 2), ROW(3);

Kết quả:

ERROR 1136 (21S01): Column count doesn't match value count at row 2

Trong trường hợp này, tôi đã chuyển hai giá trị với ROW() đầu tiên nhưng chỉ có một giá trị với giá trị thứ hai.

Đó là nguyên nhân gây ra lỗi.

Giải pháp

Để khắc phục lỗi, tất cả những gì chúng ta cần làm là đảm bảo rằng tất cả ROW() các mệnh đề chứa cùng một số giá trị.

Ví dụ:

VALUES ROW(1, 2), ROW(3, 4);

Kết quả:

+----------+----------+
| column_0 | column_1 |
+----------+----------+
|        1 |        2 |
|        3 |        4 |
+----------+----------+

Các nguyên nhân khác gây ra lỗi

Lỗi tương tự cũng có thể xảy ra khi sử dụng INSERT câu lệnh chèn sai số cột vào bảng.

Trong những trường hợp như vậy, hãy đảm bảo rằng bạn chèn đúng số hàng. Ngoài ra, để chèn dữ liệu vào ít cột hơn bảng chứa, bạn có thể đặt tên rõ ràng cho các cột để chèn dữ liệu.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL không sử dụng chỉ mục với mệnh đề WHERE IN?

  2. Hiểu về kích thước lưu trữ cho kiểu dữ liệu MySQL TEXT

  3. Hướng dẫn SQL về khóa chính - Cách xác định khóa chính trong cơ sở dữ liệu

  4. Cấp quyền cho người dùng MySQL trên Linux thông qua dòng lệnh

  5. MySQL 1062 - Mục nhập trùng lặp '0' cho khóa 'CHÍNH'