提问人:Pete Mahon 提问时间:10/2/2014 更新时间:10/2/2014 访问量:2569
我可以将硬编码字符串与MySQL LOAD DATA INFILE中的列连接起来吗?
Can I concatenate a hard-coded string with a column in a MySQL LOAD DATA INFILE?
问:
我有一个文件,其中包含一些MySQL命令,用于将单个列加载到数据库表中:
TRUNCATE TABLE datamap;
LOAD DATA LOCAL INFILE 'datamap.txt'
INTO TABLE datamap
Fields terminated by ','
enclosed by '"'
escaped by '^'
Lines terminated by '\r\n'
(datapath);
数据路径文件包含文件及其目录的列表,即 x:\files\filename1.txt
现在所有文件都在一个目录中,我想将路径硬编码到上面的命令中,这样我就可以只加载文件名,但将完整路径保存到表中的列中。我知道我可以在上面添加一个额外的 UPDATE 语句来更新表中的每一列,但这似乎不是很有效。
LOAD DATA INFILE 命令是否支持将固定字符串与从文件中读入的数据连接起来?
答:
2赞
RandomSeed
10/2/2014
#1
http://dev.mysql.com/doc/refman/5.6/en/load-data.html
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name' ... [(col_name_or_user_var,...)] [ SET col_name = expr,...]
处理输入行时,将其拆分为多个字段,并根据列/变量列表和子句(如果存在)使用值。然后,将生成的行插入到表中。
LOAD DATA
SET
评论
0赞
Pete Mahon
10/5/2014
谢谢,但该页面实际上并没有回答我的问题。我特别想知道您是否可以连接一个字符串,该字符串在任何页面的示例中都没有。
4赞
fancyPants
10/2/2014
#2
TRUNCATE TABLE datamap;
LOAD DATA LOCAL INFILE 'datamap.txt'
INTO TABLE datamap
Fields terminated by ','
enclosed by '"'
escaped by '^'
Lines terminated by '\r\n'
(col1, col2, @my_variable)
SET col3 = CONCAT('x:\files\', @my_variable);
评论