我有一个包含超过 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 语句完全相同。

答案

由于在数据周围插入括号,我遇到了类似的问题:-(:

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")
  ); 

来自: stackoverflow.com