sql >> Base de Datos >  >> RDS >> Mysql

Solucione el "ERROR 1136 (21S01):el recuento de columnas no coincide con el recuento de valores en la fila 2" al usar la instrucción VALUES en MySQL

Si recibe un error que dice algo como "ERROR 1136 (21S01):el recuento de columnas no coincide con el recuento de valores en la fila 2 ” al usar VALUES declaración en MySQL, probablemente se deba a que hay una discrepancia en el número de columnas especificadas en ROW() cláusulas.

Para solucionar este error, asegúrese de que todos los ROW() las cláusulas contienen exactamente el mismo número de columnas.

Ejemplo de error

Aquí hay un ejemplo de código que producirá el error:

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

Resultado:

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

En este caso, pasé dos valores con el primer ROW() pero sólo un valor con el segundo.

Eso es lo que causó el error.

Solución

Para corregir el error, todo lo que debemos hacer es asegurarnos de que todos los ROW() las cláusulas contienen el mismo número de valores.

Ejemplo:

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

Resultado:

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

Otras Causas del Error

El mismo error también puede ocurrir cuando se usa INSERT declaración para insertar el número incorrecto de columnas en una tabla.

En tales casos, asegúrese de insertar el número correcto de filas. Como alternativa, para insertar datos en menos columnas de las que contiene la tabla, puede nombrar explícitamente las columnas para las que insertar datos.