UPDATE Game
SET endTime = (SELECT DATEADD(hh, 1, startTime)
FROM GameInfo
WHERE Game.idGame = GameInfo.idGame);
我想将endTime的小时数设置为比startTime晚1小时,当我运行此代码时出现错误:
ERROR 1728 (HY000): Cannot load from mysql.proc. The table is probably corrupted
我相信这是因为startTime和endTime字段都是数据类型TIME,但我似乎无法为TIME数据类型找到类似的函数?
UPDATE Game
SET endTime = (SELECT HOUR(startTime)+1
FROM GameInfo
WHERE Game.idGame = GameInfo.idGame);
几乎可以工作,因为它会增加小时数,但是它会将只是小时数保存为一个数字(导致所有条目的00:00:19等)。
非常感谢任何帮助!
感谢。
答案 0 :(得分:1)
您要找的是:DATE_ADD(startTime, INTERVAL 1 HOUR)
答案 1 :(得分:0)
在SQL Server中,您可以执行以下操作:
UPDATE g
SET endTime = DATEADD(hour, 1, gi.startTime)
FROM Game g JOIN
GameInfo gi
ON g.idGame = gi.idGame;
无论数据库如何,我都觉得奇怪的是结束时间与开始时间不同。