MySQL时间戳字段不接受unix_timestamp()结果

MySQL时间戳字段不接受unix_timestamp()结果,mysql,Mysql,我有一个mysql表,其列名为date,类型为TIMESTAMP。 我正在尝试使用加载数据本地填充加载大量数据。 一切正常,只是日期列不能用从字符串创建的自定义unix时间戳填充。以下是SQL查询: LOAD DATA LOCAL INFILE '/path/to/file.csv' INTO TABLE names FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' (@nm) set `name`=@nm, `g

我有一个mysql表,其列名为date,类型为TIMESTAMP。 我正在尝试使用加载数据本地填充加载大量数据。 一切正常,只是日期列不能用从字符串创建的自定义unix时间戳填充。以下是SQL查询:

LOAD DATA LOCAL INFILE '/path/to/file.csv' INTO TABLE names FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' (@nm) set `name`=@nm, `gender`='female', `date`=UNIX_TIMESTAMP(STR_TO_DATE('2015-06-07 09:21:44', '%Y-%m-%d %H:%i:%s')); 
还尝试了这一点:

LOAD DATA LOCAL INFILE '/path/to/file.csv' INTO TABLE names FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' (@nm) set `name`=@nm, `gender`='female', `date`=UNIX_TIMESTAMP('2015-06-07 09:21:44');
问题是,日期字段中填充了0000-00-00:00:00


有人知道问题出在哪里吗?

如果
date
是数据类型
TIMESTAMP
,就这样做

 `date` = '2015-06-07 09:21:44'
不需要使用带有
STR\u-TO\u-DATE
UNIX\u时间戳的繁文缛节。MySQL将字符串文本(以该格式)隐式转换为
DATE
DATETIME
TIMESTAMP
数据类型,前提是在需要这些数据类型之一的上下文中

如果要将值存储到数字列中,而不是存储在
时间戳
中,则需要使用
UNIX\u TIMESTAMP
函数返回整数值



尝试删除
UNIX\u时间戳
STR\u TO\u DATE
函数


TIMESTAMP
字段使用
yyyy-mm-dd hh:mm:ss
格式(与
DATETIME
相同)。

MySQL没有
UNIX\u时间戳
数据类型,你是说
时间戳
?是的,你说得对!很抱歉更正,谢谢您的提醒!尝试删除
UNIX\u时间戳
STR\u TO\u DATE
函数<代码>时间戳
字段使用
yyyy-mm-dd hh:mm:ss
格式(与
DATETIME
相同)。@Vatev,您能将您的评论移动到答案吗?你首先提供了它,它是有效的。你的答案是正确的,谢谢你的帮助。然而,@Vatev的评论首先出现,我需要接受他。无论如何,谢谢你的帮助!