使用LOAD DATA LOCAL INFILE导入期间向字段添加字符串

时间:2014-06-03 16:10:17

标签: mysql

我使用以下查询将csv文件导入mysql表;

"LOAD DATA INFILE 'myfielname.csv'
INTO table customers
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"'
LINES TERMINATED BY '\r'
IGNORE 3 LINES
(sales,regional,accounts)
";

有没有办法在要导入的字段之前插入字符串?

例如:字段' sales'以上是指在应用程序中使用的帐户ID号。我想在导入期间在帐号之前附加一个URL,因此表中的最终记录如下:

字符串我想在销售之前来到#,但在同一记录中:http://www.url.com?id=

如果给定的销售ID为1234,则表中的最终记录为http://www.url.com?id=1234

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

尝试这样的事情

LOAD DATA LOCAL INFILE 'C:/test.csv' 
INTO TABLE test.test1 
FIELDS TERMINATED BY ';'
(@test1col,@test2col) 
set test1col=CONCAT('http://url.com?id=',@test1col),test2col=@test2col;

测试csv有2列。我创建了一个像这样的测试表

CREATE TABLE `test1` (
  `test1col` varchar(200) DEFAULT NULL,
  `test2col` varchar(2000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

您可以尝试使用自己的immediatley,只需确保正确命名列!

尝试一下它对我有用。