日期时间变更为时间[2013-03-08 01:50:31]

时间:2014-05-28 15:51:56

标签: mysql sql datetime join

我正在运行一系列查询,首先从一个视图中选择所有并将其发布到一个新擦除的表中:

DELETE FROM GTMP_PROGRESS
WHERE OBJID IS NOT NULL;

INSERT IGNORE INTO GTMP_PROGRESS
SELECT * FROM GTMP_PROG_VIEW;

这些查询工作正常。 GTMP_PROGRESS中的数据看起来与视图中的数据完全相同。

然后 - 我使用各个表运行一系列JOIN来根据条件更新GTMP_PROGRESS。以下是几个例子:

UPDATE IGNORE GTMP_PROGRESS AS gtmp
JOIN (SELECT cast(EU AS UNSIGNED) AS eu
           , MAX(START_TIME) AS max
           , CLUSTER_COMPLETE AS complete 
      FROM `BENIN_CLEAN` 
      GROUP BY EU) AS benin
ON gtmp.EUID = benin.EU
SET gtmp.Completed_Date = benin.max
WHERE benin.complete>0;

UPDATE IGNORE GTMP_PROGRESS AS gtmp
JOIN (SELECT cast(EU AS UNSIGNED) AS eu
           , MAX(START_TIME) AS max
           , CLUSTER_COMPLETE AS complete 
      FROM `IMPACT_CAMBODIA_CLEAN` 
      GROUP BY EU) AS cambodia
ON gtmp.EUID = cambodia.EU
SET gtmp.Completed_Date = cambodia.max
WHERE cambodia.complete>0;

这持续约30个连接。在这些JOIN查询结束时,我有以下日期时间的577个Completed_Date字段条目:" 2013-03-08 01:50:31"。具有此日期时间的EU不是应受JOIN查询影响的EU ...这些是原始VIEW表中存在的条目。在运行这些JOIN查询之前,Completed_Date的值是另一个datetime或Completed_Date字段为NULL。

一些历史记录是,在Completed_Date字段进行所有日期的标准化之前,这些查询完美地运行,因此它们被限定为datetime字段。 _CLEAN表格总是专门使用日期时间格式,所以我不知道这是否会导致问题。

我无法理解这一点。

0 个答案:

没有答案