我导入各种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命令的,所以我想知道问题是我是否试图在导入中进行操作?
感谢任何帮助...
答案 0 :(得分:0)
刚刚成功测试:
set @varcount = 0;
LOAD DATA INFILE '/file.txt' INTO TABLE attachments SET `name` = @varcount;
但是MySQL Reference说:
SET子句中的赋值应该只包含列名 任务操作员的左手边。
或者,您可以在BEFORE或AFTER INSERT之前添加一个触发器来进行计数。