2012-10-24 57 views
12

我有一個超過14000條語句的mysql文件。 他們都是插入到表中,當我導入使用控制檯文件,它引發以下錯誤:「列計數與行數值不匹配」但它的確如此

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

我知道,錯誤出現時,在列名指定的行是從指定的行不同在VALUES列表中,但我已經檢查過很多次,列的數量完全相同。

在第45位的行:

('00553', 'AAA', 'BBB', 'CCC', 'XXXXXXXXR', 'user address', 'spain', 'spain', '39212', '1900-01-21', '123456789', 'M', 'No disponible', 0, 'AAA', 'BBB ', 'CCC', 'XXXXXXXXR', NULL, '888993344', '', '', '', '', 'no', 'no') --> 26 columns 

和與之相關的插入線,上方多條線路是:

INSERT INTO `users` (`id_patient`, `name`, `surname1`, `surname2`, `dni`, `address`, `city`, `state`, `postal_code`, `birthday`, `telephone`, `sex`, `email`, `lopd_status`, `lopd_name`, `lopd_surname1`, `lopd_surname2`, `lopd_dni`, `lopd_as`, `mobile_phone`, `notes`, `job`, `company`, `place`, `active_citation`, `signature`) --> 26 columns 

我看了這個錯誤,但它似乎只是它當計數不同時出現,但在這種情況下,它是相同的。

有什麼想法?

編輯:忘了提及:如果我直接在phpmyadmin上拋出sql語句,它會正確添加行,沒有任何錯誤。它只在從命令行運行時崩潰,雖然它上面的語句被正確地插入到數據庫中,並且它們幾乎與這個相同。

EDIT2:我已經刪除了所有行,直到46,當我啓動該文件的誤差修改如下:

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

它只是改變了路線,但該行是INSERT語句,與文件其餘部分中的其他INSERT語句完全相同。 previos系列也是正確的。

+3

檢查線44和「顯示來自{數據庫名稱}觸發」 46,以及... –

+0

我也查了他們,他們也有26列。 – Pask

+0

create table語句如何查找此表? –

回答

10

我面臨着因爲圍繞數據:-(括號插入一個類似的問題:

INSERT INTO Customers (Name,LastCredit,CreditDate) VALUES (<-- Here. 
    ("Nuclear Millitary Systems",500.0,CURRENT_DATE), 
    ("Evil Corporation",67890.95,"2012-02-12"), 
    ("Nuke Software Systems",5600.0,"2013-05-06"), 
    ("RR Millitary",600.0,"2013-05-06"), 
    ("Random Automation",560.0,"2012-05-01"), 
    ("Evil Data Systems",600.0,"2013-03-01") 
); 
1

檢查文件中特殊的隱藏字符。您可能認爲文件中的所有空格都是空格,但有時其他字符可能會以某種無法理解的方式查看插入的數據。

如果一切都失敗,請手動重新輸入INSERT並在文件中自行運行以查看它是否仍然失敗。

+0

我已刪除該行之前和之後的所有特殊字符,但錯誤仍在繼續。我也把這一行和下一行放入一個單獨的文件中,並且mysql將它們正確地插入到數據庫中。這是開始令人沮喪的... – Pask

+0

此外,餵養一個文件,其中包含4行之前,它及其下面的4行也行:( – Pask

+0

我已經將文件導入到phpmyadmin,但錯誤是相同的。 – Pask

9

我正面臨類似的錯誤。這只是一個缺少逗號的問題。檢查是否在INSERT語句中的所有項目之間用逗號隔開

+1

這就是它!YACPG - 又一個複製粘貼Goofup :) – Santosh

3

在我來說,我有一個觸發在INSERT與列不一致計數:(&

3

就我而言,我的數據庫表有關聯的另一個表的觸發器,並有一列觸發表中缺少。事情是這樣的:

表1列: UserAccountID,文檔類型,權限,狀態

觸發表2列:修訂號,修訂狀態,UserAccountID,權限,狀態

所以在表2,「文件類型」列丟失。 通過

檢查數據庫觸發器

相關問題