mysql - 将一个小时添加到 TIME 数据类型

标签 mysql sql date time dateadd

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 等)。

任何帮助将不胜感激!

谢谢。

最佳答案

您要查找的是:DATE_ADD(startTime, INTERVAL 1 HOUR)

关于mysql - 将一个小时添加到 TIME 数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49158343/

相关文章:

java - 如何检查 Date 对象或 Calendar 对象是否为有效日期(真实日期)?

php - 如何选择默认值下拉菜单

sql - OpenOffice SQL 查询日期选择

sql - 如何根据 HiveQL 和 SQL 中特定列的子字符串进行选择?

javascript - JS : Timer function with dynamic interval getting "off" by one second(out of sync)?

破折号分隔并以年份开头时的 Javascript Date.parse 错误

mysql - 在 MAC 上找不到 MySQL

php - 使用 AJAX 传递表单条目以查询传递并更新到 div 标签的数据库

C#/SQL : 'System.Data.Objects.ObjectSet<DatabaseName.TableName> does not contain a definition for ' Local'

mysql - 如果不存在,则将值插入 MySQL