Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Napraw „BŁĄD 1136 (21S01):Liczba kolumn nie odpowiada liczbie wartości w wierszu 2” podczas korzystania z instrukcji VALUES w MySQL

Jeśli pojawia się błąd o treści „BŁĄD 1136 (21S01):liczba kolumn nie odpowiada liczbie wartości w wierszu 2 ” podczas korzystania z VALUES w MySQL, jest to prawdopodobnie spowodowane niezgodnością liczby kolumn określonej w ROW() klauzule.

Aby naprawić ten błąd, upewnij się, że wszystkie ROW() klauzule zawierają dokładnie taką samą liczbę kolumn.

Przykład błędu

Oto przykład kodu, który spowoduje błąd:

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

Wynik:

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

W tym przypadku przekazałem dwie wartości za pomocą pierwszej ROW() ale tylko jedna wartość z drugą.

To właśnie spowodowało błąd.

Rozwiązanie

Aby naprawić błąd, wszystko, co musimy zrobić, to upewnić się, że wszystkie ROW() klauzule zawierają taką samą liczbę wartości.

Przykład:

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

Wynik:

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

Inne przyczyny błędu

Ten sam błąd może również wystąpić podczas korzystania z INSERT oświadczenie, aby wstawić niewłaściwą liczbę kolumn do tabeli.

W takich przypadkach upewnij się, że wstawiasz prawidłową liczbę wierszy. Alternatywnie, aby wstawić dane do mniejszej liczby kolumn niż zawiera tabela, możesz jawnie nazwać kolumny, dla których chcesz wstawić dane.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Użyj rozszerzeń przestrzennych MySQL, aby wybrać punkty wewnątrz okręgu

  2. Jak zainstalować MySQL 8 w systemie Windows

  3. Używanie JDeveloper z bazą danych MySQL i bazą danych Oracle na AWS RDS, część 2

  4. MySQL :transakcja w ramach procedury składowanej

  5. Jak wyświetlić błędy dla mojego zapytania MySQLi?