鉴于您稍后添加了分钟列,您应该使用以下查询更新您的表。
INSERT INTO yourTable
SELECT
inn.id,
inn.StartDate,
inn.EndDate,
TIMESTAMPDIFF(
MINUTE,
inn.StartDate,
inn.EndDate
) AS diff
FROM
`yourTable` inn
ON DUPLICATE KEY
UPDATE
id = inn.id,
`StartDate` = inn.StartDate,
EndDate = inn.EndDate,
Mins = TIMESTAMPDIFF(
MINUTE,
inn.StartDate,
inn.EndDate
) ;
假设这是你的表的初始状态
id StartDate EndDate Mins
------ ------------------- ------------------- --------
1 2016-11-07 12:53:27 2016-11-30 12:53:35 0
2 2016-11-02 12:53:41 2016-12-07 12:53:45 0
3 2016-11-16 12:53:52 2017-02-16 12:53:56 0
执行上述查询会像这样转换表:
id StartDate EndDate Mins
------ ------------------- ------------------- --------
1 2016-11-07 12:53:27 2016-11-30 12:53:35 33120
2 2016-11-02 12:53:41 2016-12-07 12:53:45 50400
3 2016-11-16 12:53:52 2017-02-16 12:53:56 132480