Sql 加载数据填充语法-第1行CSV中的字段计数无效

Sql 加载数据填充语法-第1行CSV中的字段计数无效,sql,phpmyadmin,Sql,Phpmyadmin,为了便于使用,我使用了phpmyadmin,并且使用了加载数据填充语法,该语法给出了以下错误,-第1行CSV中的无效字段计数。我知道有一个无效的字段计数是故意的 基本上,表有8列,文件有7列。我可以进入文件,通过在第8列中输入数据手动更改为8,但这太耗时了,事实上,我必须在完成时重新开始,所以我必须排除这种情况 八列将是一个数字,每个文件的每一行都是完全相同的,因此每个文件都是唯一的 例如,第一个文件有1000行,每个行的数据位于前七列,然后第八列用于标识此文件数据所引用的内容。因此,对于sql

为了便于使用,我使用了phpmyadmin,并且使用了加载数据填充语法,该语法给出了以下错误,-第1行CSV中的无效字段计数。我知道有一个无效的字段计数是故意的

基本上,表有8列,文件有7列。我可以进入文件,通过在第8列中输入数据手动更改为8,但这太耗时了,事实上,我必须在完成时重新开始,所以我必须排除这种情况

八列将是一个数字,每个文件的每一行都是完全相同的,因此每个文件都是唯一的

例如,第一个文件有1000行,每个行的数据位于前七列,然后第八列用于标识此文件数据所引用的内容。因此,对于sql表上的1000行,前7列是数据,而最后一列只是1000 1,然后下一个文件的1000行将有第8列,表示1000 2,依此类推。(注意,由于明显的原因,我实际上要输入100001,而不是1或000001)

无论如何,我也不能删除列并在加载文件后添加回去,原因很好,我不会解释,但我知道这种方法对这种情况是无用的

我想要的是一种方法,当我加载一个填充前7列的文件时,对于第8列,对于csv中的每一行,在第8列的每一行中放置一个指定的int。像自动递增,除了,而不是增加每一个新行,只是保持不变。然后对于第二个文件,我需要做的就是更改指定的int

注意:解决方案不可能是更改csv文件,因为这非常耗时,而且实际上是违反直觉的


我希望有人知道是否有办法做到这一点,可能是使用sql代码,它是加载文件和插入的混合体,以便正确处理而不会出错

解决方案是简单地将第8列加载到变量中,如下所示:

SET @dummy_variable = 0; /* <-not sure if you need this line...*/
LOAD DATA INFILE 'file.txt'
INTO TABLE t1
(column1, column2, ..., column7, @dummy_variable);

SET@dummy_变量=0;/*太长了,没读,对不起。只需发布数据文件的示例和加载数据填充语句……如果我这样做,您将给我答案,我已经知道这些答案不起作用,因此我花时间写出了我知道人们可能建议但不起作用的方法。另外,这个问题以前也有人问过,答案对我来说是行不通的。我想通过这种方式节省时间。现在读一半的问题,答案很简单,可以将第8列加载到变量中。这以前有人提出过吗?如我所说,发布所有技术信息,以及您尝试过的内容或建议。像我这样的人在这里回答了很多问题,根据我的经验,我再次告诉你们,一堆文字很少有助于更好地理解一个问题。只有极少数人,尤其是那些可能知道答案的人,愿意阅读大量文本。看,我每天在这里读到50多个问题。有时候你不想读任何与问题无关的东西。谢谢,非常感谢。你能看看吗