"列数与行的值计数不匹配"但确实如此

Pas*_*ask 19 mysql count

我有一个超过14000个语句的mysql文件.所有这些都插入到表中,当我使用控制台导入文件时,它会抛出以下错误:

ERROR 1136 (21S01) at line 1548: Column count doesn't match value count at row 45
Run Code Online (Sandbox Code Playgroud)

我知道当列名中指定的行与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
Run Code Online (Sandbox Code Playgroud)

和与之关联的插入行,上面的许多行是:

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
Run Code Online (Sandbox Code Playgroud)

我已经找到了这个错误,但它似乎只在计数不同时出现,但在这种情况下,它是相同的.

任何的想法?

编辑:忘了提:如果我直接在phpmyadmin上抛出sql语句,它会正确添加行,没有任何错误.它只在从命令行运行时崩溃,尽管它上面的语句正确插入到数据库中,它们几乎与此相同.

EDIT2:我已经删除了所有行,直到46,当我启动文件时,错误如下:

ERROR 1136 (21S01) at line 1503: Column count doesn't match value count at row 45
Run Code Online (Sandbox Code Playgroud)

它只更改行,但该行是INSERT语句,它与文件其余部分中的其他INSERT语句完全相同.previos线也是正确的.

小智 20

我遇到了类似的错误.这只是一个缺少逗号的问题.检查insert语句中的所有项是否都以逗号分隔

  • 这就是它!YACPG - 又一个复制粘贴Goofup :) (2认同)

小智 20

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

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")
  ); 
Run Code Online (Sandbox Code Playgroud)


小智 6

就我而言,我的数据库表有一个与另一个表关联的触发器,并且触发表中缺少一列.像这样的东西:

表1列: UserAccountID,文档类型,权限,状态

触发表2列:修订号,修订状态,UserAccountID,权限,状态

因此,在表2中,缺少"文档类型"列.检查数据库中的触发器

"从{数据库名称}显示触发器"


Ana*_*kzz 5

在我的情况下,我在 INSERT 上有一个触发器,列不匹配计数:(&