2012-06-10 111 views
5

MySQL是發出此錯誤。下面是表的結構:我得到上述錯誤MySQL的「列計數不匹配值計數」,但計數不匹配,當我試圖執行一個查詢,其中列數不匹配

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) 

當我執行此查詢:

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 

正如你所看到的,列計數不匹配值計數。現在發生什麼更令人費解的是,查詢工作完全正常與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是一個無符號SMALLINT,這沒有任何意義,我。

在這個問題上的任何幫助,將不勝感激。

編輯:錯誤是由相關聯的表中的觸發引起的。請參閱評論以獲取更多信息。

+2

'CHECK TABLE S_3068'? – eggyal

+0

不知道它應該做什麼,但這工作正常(狀態確定),仍然查詢失敗,同樣的錯誤。 –

+0

如果你明確地列出了列,會發生什麼(我看不出爲什麼會有所作爲,但它可能有助於縮小問題的根源)? – eggyal

回答

2

的錯誤是由相關的表觸發引起的,這樣做的另一個表側插入了價值133而不是132的值由MySQL發出的錯誤是對其他表(列數的確是錯了)而不是關於我插入數據的主表。

相關問題