我已经研究了一个星期,但仍然没有运气。我有一个txt文件,加载到&#temp; temploadsi'表通过PHP。文本文件将始终具有已存在于数据库中的旧数据,因此我只需要" new"数据。我的想法是有一个装载表& temploadsi'然后比较时间戳并仅导入" new"数据进入表格' tempdatasi'。问题是时间戳列的格式类似于' MM / DD / YYYY HH:MM:SS'并且不会进入mySQL datetime字段。因此我将它设置为文本字段。我想将文本转换为日期时间字段,例如' YYYY-MM-DD HH:MM:SS'。我查看了STR_TO_DATE和DateTime函数但无法更新' temploadsi'。你能帮忙吗?
答案 0 :(得分:2)
您未能更新字段的原因是您的数据时间24:59:59
无效。我认为最长时间是23:59:59
,所以为了将其转换为日期,您需要使用以下格式
SELECT DATE_FORMAT(STR_TO_DATE(datetime,'%m/%d/%Y %x:%x:%x'), '%Y-%m-%d 23:59:59')
FROM table1
因此,如果您要更新字段,可以使用此查询
UPDATE tableName
SET your_columnname = DATE_FORMAT(STR_TO_DATE(your_columnname, '%m/%d/%Y %x:%x:%x'), '%Y-%m-%d 23:59:59')
并且此查询假定您要更新的列具有VARCHAR
数据类型。
答案 1 :(得分:0)
像Str_to_date('12 / 10/2012 23:59:59','%m /%d /%y%h:%i:%s')
不知道为什么你找不到这个
[Mysql帮助] http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to-date