Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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
Mysql 使用条件选项将csv文件导入sql workbench_Mysql_Csv_Import_Options - Fatal编程技术网

Mysql 使用条件选项将csv文件导入sql workbench

Mysql 使用条件选项将csv文件导入sql workbench,mysql,csv,import,options,Mysql,Csv,Import,Options,我想将csv文件导入workbench mysql CREATE TABLE food( Id_food INT NOT NULL AUTO_INCREMENT, `Name` VARCHAR(255) NOT NULL, brand VARCHAR(255) NOT NULL, producer VARCHAR(255), amount INT, total_amount INT, PRIMARY KEY (Id_food) ); LOAD DATA LOCAL INFILE

我想将csv文件导入workbench mysql

CREATE TABLE food( 
Id_food INT NOT NULL AUTO_INCREMENT, 
`Name` VARCHAR(255) NOT NULL, 
brand VARCHAR(255) NOT NULL, 
producer VARCHAR(255), 
amount INT, 
total_amount INT,
PRIMARY KEY (Id_food) 
); 

LOAD DATA LOCAL INFILE  'file.csv'
INTO TABLE food
FIELDS TERMINATED BY ';'
ENCLOSED BY '"'
LINES TERMINATED BY '%'
IGNORE 1 ROWS
(
    Name,
    amount,
    amount,
    brand
);
csv文件包含食物列表

我要导入特定列:

名称、数量(毫升)、数量(克)和品牌

csv中的列顺序为:

名称、数量(克)、数量(毫升)、品牌、过敏原等

因此,金额是csv文件中的两列

如果金额(ml)列有一个数字,则另一个金额(g)列中有一个负号(“-”)

导入时,如何组合“金额”列中的这两列


另一个问题是,如何在填写金额后填写“总金额”列?

将多余/不明确的列检索到用户定义的变量中:

加载数据本地内嵌'file.csv'
进入餐桌食物
以“;”结尾的字段
附以“.”
以“%”结尾的行
忽略1行
(
名称
@金额_ml,
@数量(毫克),,
品牌
@dummy1,
@笨蛋2,
…--根据CSV结构需要的虚拟变量数量
)
设置金额=@amount\u ml>0时的情况——根据CSV结构调整条件
然后@amount\u ml
其他@amount\u mg
终止
;

不要加载到同一列或变量中-结果将不可预测(甚至可能是查询失败).

@yoggozuna这在中有很好的描述。谢谢,有没有办法忽略特定的行?如忽略第54行?仅读取您可以忽略前几行或忽略没有前缀的行。@yoggozuna没有这种可能性。您可以将所有行导入到诱惑中,然后通过另一个查询仅将所需的行插入到工作表中。