第1行的CSVinput中的列计数错误
我试图用phpMyAdmin将“.csv”文件放到SQL数据库中。 但是,每当我导入它,我得到的错误:第一行的CSVinput无效列数。我花了整天玩不同的select,试图让它的工作,但没有用。 我的.csv文件中只有47列。 我在我的SQL表中创build了47列。 然而,名称与文件中的名称不完全相同。 每当我导入,它不断给我这个错误。 任何帮助将不胜感激! 〜Carpetfizz我认为可能导致问题的一件事是,第一列没有在我的Excel文档中命名。 这可能会导致一个问题?
编辑12:30上午:phpMyAdmin已经是最新版本,通过(apt-get安装phpmyadmin)(phpmyadmin已经是最新版本)
这是.csv文件,如果有帮助的话。
如果您的数据库表已经存在,并且您不希望在CSV文件中包含所有表格列,那么当您运行PHPpipe理导入时,您需要填写CSV格式特定选项中的列名称字段这里在下面的截图底部。
综上所述:
- select一个CSV文件
- 将格式设置为CSV
- 使用CSV中列的名称填写“列名称”字段
- 如果您的CSV文件具有列1中列出的列名称,请设置“跳过此查询数(对于SQL)或行(对于其他格式),从第一个”开始到1
固定! 我基本上只是select“导入”,甚至没有自己的桌子。 phpMyAdmin为我创build了这个表格,所有正确的列名都来自原始文档。
使用phpMyAdmin导入.csv文件时遇到同样的错误。
解决我的问题是,我的电脑保存了.csv文件; (分号)作为分隔符而不是(逗号)。
在特定于格式的选项中,您可以select“分隔列”,然后select; 而不是(逗号)。
为了查看你的电脑存储了什么文件,在文本编辑器中打开.csv文件。
我只是有这个问题,并意识到有空列被视为列的值,我看到了这一点在我的文本编辑器中打开我的CSV。 为了解决这个问题,我打开了我的电子表格,并删除了最后一列后的列,他们看起来完全是空的,但他们没有。 我这样做后,导入完美。
有同样的问题,并做了两个变化:(一)没有覆盖现有的数据(不理想,如果这是你的意图,但你可以运行一个删除查询事先),(二)统计列,发现CSV一个空栏,所以它总是付出回到原来的工作,即使所有“看起来”看起来是正确的。
你的解决scheme似乎假设你想创build一个全新的表。
但是,如果您想要将内容添加到已经存在的表格中,请查看表格的结构并记下列的数量(如果您仍然有一个数字列,则列标识列即使可能是自动增量/唯一)
所以,如果你的表看起来像这样的id名称年龄性别
确保你的excel表格看起来像A1 id B1名称C1年龄D1性别
现在他们都有4列。
也正确的部分导入,旁边跳过查询数….增加数字跳过适当的行。 select1会自动跳过第一行。 对于那些在excel文件中可能有标题的人
如果表已经创build好了,而且你已经足够懒了,不需要指定字段名称input中的列,那么你只需要select文件内容右侧的空列并删除它们。
我有一个与phpmyAdmin类似的问题。 要导入的文件中的列计数与目标数据库表中的列匹配。 我试图以.csv和.ods格式导入文件无济于事,得到各种各样的错误,包括争辩列计数是错误的。
.csv和.ods文件都是使用LibreOffice 5.204创build的。 根据过去几年有关导入问题的经验,我决定使用gnumeric电子表格重新制作文件,导出符合“严格”格式标准的.ods文件。 瞧! 没有更多的import问题。 虽然我没有时间进一步调查这个问题,但我怀疑LibreOffice文件输出的内部结构发生了什么变化。