是否可以在LOAD DATA INFILE期间执行功能而无需创建存储过程?

时间:2016-03-11 16:06:01

标签: mysql mysql-workbench etl

我有两个列q1和q2,我想将它们加在一起并放入目标列q。

我现在的方式,我把数据放在一个中间表中,然后在加载过程中求和,但我想知道在提取过程中是否可以这样做?

这是我的剧本:

LOAD DATA INFILE 'C:\temp\foo.csv'
    INTO TABLE new_foo
    FIELDS TERMINATED BY ','
    LINES TERMINATED BY '\n'
    IGNORE 1 LINES
    (q1,q1)

INSERT INTO foo (q) SELECT q1+q2 AS q
FROM foo_temp;

1 个答案:

答案 0 :(得分:1)

尝试:

LOAD DATA INFILE 'C:\temp\foo.csv'
    INTO TABLE `foo`
    FIELDS TERMINATED BY ','
    LINES TERMINATED BY '\n'
    IGNORE 1 LINES
    (@`q1`, @`q2`)
    SET `q` = @`q1` + @`q2`;