Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将csv文件数据插入包含更多列的mysql表_Mysql_Csv - Fatal编程技术网

将csv文件数据插入包含更多列的mysql表

将csv文件数据插入包含更多列的mysql表,mysql,csv,Mysql,Csv,我想将csv文件中的数据添加到数据库中的表中,但该表包含的列比文件中的列多。查询应该是这样的:一些列由csv文件填充,而另一些列则应在查询中用特定值填充。假设我的csv文件的每一行都有格式为value1、value2的数据。我想将数据添加到一个包含3列的表中。前两列应填充文件中的数据,第三列中的值应为1。到目前为止,我有以下查询,它仅使用csv文件中的数据填充表的2列: LOAD DATA LOCAL INFILE 'target_file' INTO TABLE table_name FIEL

我想将csv文件中的数据添加到数据库中的表中,但该表包含的列比文件中的列多。查询应该是这样的:一些列由csv文件填充,而另一些列则应在查询中用特定值填充。假设我的csv文件的每一行都有格式为value1、value2的数据。我想将数据添加到一个包含3列的表中。前两列应填充文件中的数据,第三列中的值应为1。到目前为止,我有以下查询,它仅使用csv文件中的数据填充表的2列:

LOAD DATA LOCAL INFILE 'target_file'
INTO TABLE table_name FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '\"'
LINES TERMINATED BY '\n' (col1,col2);

您可以为第三个字段标记默认值1,然后导入csv文件。或者,您可以将csv文件中未包含的字段标记为可空,然后执行查询以更新空值

我在寻找更一般的东西,因为有时的值可以是2。因此,我正在寻找一种在查询中指定此列值的方法。我不知道是否存在这种通用方法,但我通常使用c或java编写一小部分代码块,处理文件并手动执行sql。可能您可以使用编程语言通过检查字段来处理文件,并使用约束生成第三个字段,然后执行上面的代码。您确实可以以某种方式转换文件。