【发布时间】:2017-07-21 06:08:36
【问题描述】:
我正在尝试使用 Load data infile 将一些数据插入到已经有一些数据的 mysql 表中。该表包含 id 和 name。我的 csv 文件包含三个字段:id、name 和 code。表模式也有这三个字段,但目前,表的代码字段为 NULL。如果它与名称匹配,我正在尝试将 csv 中的代码插入到表中的现有行中,否则我正在尝试插入一个完整的新行。
我试过的代码如下:
加载数据输入文件'table1.csv' INTO表表1 以“,”结尾的字段 以“\n”结尾的行 忽略 1 行 (@code、@name、@other_columns) IF EXISTS (SELECT * FROM table1 where name=@name); 开始 设置代码=@代码; 结尾 别的 开始 设置代码=@代码,名称=@名称; 结尾这样做,我得到一个 mysql 语法错误,但我无法弄清楚。谁能指出我正确的方向,或向我建议另一种方法?我有数千个新行要插入,数千个现有行要根据特定字段(在本例中为名称)进行修改。
【问题讨论】:
标签: mysql csv load-data-infile