我正在从'infile.txt'文件中导入数据,而我正在使用该表: 人(ID为auto_incremented)要插入成
ID DATE NAME
infile.txt
Ben
Jim
Jack
我正在使用此方法
LOAD DATA INFILE '~/infile.txt'
INTO TABLE People
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
(DATE, NAME);
所需的输出
ID DATE NAME
1 2012-03-06 15:13:40 Ben
2 2012-03-06 15:13:41 Jim
3 2012-03-06 15:13:42 Jack
答案 0 :(得分:4)
如果你想忽略文件中的日期,而是使用NOW()代替,那么你可以简单地将文件中的日期加载到用户变量中并忽略它,然后明确地将日期设置为NOW(),就像这样:
LOAD DATA INFILE '~/infile.txt'
INTO TABLE People
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
(@DATE, NAME)
SET DATE = NOW();
答案 1 :(得分:3)
将DATE
字段设置为时间戳:
ALTER TABLE `People` CHANGE `DATE` `DATE` TIMESTAMP DEFAULT CURRENT_TIMESTAMP;
DATE
字段将自动包含插入记录的时间,因此您只需忽略加载中的该字段。 DATE
也不是字段名称的好选择,因为它是一个应该用反引号括起来的保留字。