Mysql - 导入期间的增量变量

时间:2015-01-29 12:34:24

标签: mysql

我导入各种perfmon样式的CSV日志,并希望添加一个SET命令来更新导入时带行号变量的字段,如:

SET @varcount = 0;LOAD DATA INFILE '/file' INTO TABLE mytable ....... (field1, field2, field3) SET linenumberfield = @varcount:=@varcount+1;

然而,在" linenumberfield = ...."附近有一个语法问题的mysql错误。位。我已经尝试了各种各样的var名字,以防我踩到任何保留的单词,并尝试过使用/不使用冒号的各种组合。我在这里看到的所有帖子都是关于SELECT或UPDATE命令的,所以我想知道问题是我是否试图在导入中进行操作?

感谢任何帮助...

1 个答案:

答案 0 :(得分:0)

刚刚成功测试:

set @varcount = 0;
LOAD DATA INFILE '/file.txt' INTO TABLE attachments SET `name` = @varcount;

但是MySQL Reference说:

  

SET子句中的赋值应该只包含列名   任务操作员的左手边。

或者,您可以在BEFORE或AFTER INSERT之前添加一个触发器来进行计数。