MySQL emette questo errore quando tento di eseguire una query in cui il conteggio delle colonne corrisponde. Ecco la struttura della tabella:MySQL "Il conteggio delle colonne non corrisponde al conteggio dei valori" ma il conteggio corrisponde allo
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)
ottengo l'errore di cui sopra quando eseguo questa query:
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
Come si può vedere, il numero di colonne fa corrisponde al valore di conteggio. Ora, ciò che è ancora più sconcertante è che la query funziona perfettamente bene 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 essere uno smallint unsigned, che non ha alcun senso per me.
Qualsiasi aiuto in merito sarebbe molto apprezzato.
MODIFICA: l'errore è stato causato da un trigger associato alla tabella. Si prega di vedere i commenti per ulteriori informazioni.
'CONTROLLA TABELLA S_3068'? – eggyal
Non sono sicuro di cosa avrebbe dovuto fare ma funzionava correttamente (stato OK) e tuttavia la query ha esito negativo con lo stesso errore. –
Cosa succede se si elencano esplicitamente le colonne (non riesco a capire perché questo potrebbe fare la differenza, ma potrebbe aiutare a restringere la fonte del problema)? – eggyal