MySQL está emitiendo este error cuando trato de ejecutar una consulta donde el recuento de columnas no coincide. Esta es la estructura de la tabla:MySQL "El recuento de columnas no coincide con el recuento de valores", pero el recuento CONECTA
mysql> desc S_3068;
+-------------------+----------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+----------------------+------+-----+---------+-------+
| SfmID | smallint(5) unsigned | NO | PRI | 1 | |
| DatValue | float | NO | | 0 | |
| DatRawValue | int(10) unsigned | NO | | 0 | |
| DatTime | int(10) unsigned | NO | PRI | 0 | |
| DatBusOrder | tinyint(3) unsigned | NO | PRI | 1 | |
| DatFormulaVersion | tinyint(3) unsigned | NO | | 0 | |
+-------------------+----------------------+------+-----+---------+-------+
6 rows in set (0.00 sec)
consigo el error antes mencionado cuando yo haga esta consulta:
mysql> insert ignore into S_3068 values (133, 15.82, 5542, 1339309260, 0, 1);
ERROR 1136 (21S01): Column count doesn't match value count at row 1
Como se puede ver, el número de columnas coincide con el recuento de valor. Ahora lo que es aún más sorprendente es que la consulta funciona perfectamente bien con SfmID = 132:
mysql> insert ignore into S_3068 values (132, 15.82, 5542, 1339309260, 0, 1);
Query OK, 1 row affected (0.00 sec)
SfmID ser un smallint sin firmar, que no tiene ningún sentido para mí.
Cualquier ayuda sobre este tema sería muy apreciada.
EDITAR: El error fue causado por un disparador asociado a la tabla. Por favor vea los comentarios para más información.
'CHECK TABLE S_3068'? – eggyal
No estoy seguro de qué se suponía que debía hacer, pero funcionó bien (estado correcto) y aún así la consulta falla con el mismo error. –
¿Qué sucede si enumera explícitamente las columnas (no veo por qué eso marcaría la diferencia, pero podría ayudar a reducir el origen del problema)? – eggyal