我想读取一个csv文件并将行插入到表中。当我分配值时,我可以插入它们而没有任何问题。但是当我尝试使用@user变量时,同样的sql停止工作。mysql infile无法访问子查询中的@user变量
所有帮助表示赞赏。
这工作:
LOAD DATA INFILE 'tmp/test.csv'
INTO TABLE T1
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(@var1)
set create_timestamp = now(),
col1 = (select max(id) from T2 where
col2 = 1234);
这不起作用:
LOAD DATA INFILE 'tmp/test.csv'
INTO TABLE T1
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(@var1)
set create_timestamp = now(),
col1 = (select max(id) from T2 where
col2 = @var1);
“不起作用”是什么意思? –
问题发生在子查询中,在这里它无法访问用户变量@ var1。 子查询的作品,当我给它一个恒定的值,如1234. – Aniks
@Anika。 。 。它正在产生一个错误。如果是这样?它是否产生了不良结果。如果是这样? –