2010-08-17 79 views
5

我想知道,2038年1月19日3时14分07秒使用TIMESTAMP作为数据类型表中的字段后会发生什么更大?MySQL的TIMESTAMP值比“2038年1月19日3时14分07秒”

我总是选择DATETIME但你显然不能分配CURRENT_TIMESTAMP为默认值该类型。我的意思是,28年的时间并不长(当然,无论如何)......所以那些TIMESTAMP字段会发生什么呢?

+0

我想到那时我们会有MySQL 2038支持更长的范围。并希望没有人会仍然不幸地使用MySQL 5 – JochenJung 2010-08-17 13:36:06

回答

1

您可能无法将CURRENT_TIMESTAMP分配给DATETIME列,但您可以将它分配给NOW()

对于Y2K + 38的问题,我敢打赌,会有的MySQL的新版本之前,它是一个真正的问题,这将长期解决这个问题。

+0

,设置NOW()我需要创建一个TRIGGER。尽管这是一个可接受的解决方案,但触发器不会显示在PhpMyAdmin导出中(但会与mysqldump一起显示):/ – 2010-08-17 13:57:57

+0

您不需要设置触发器以添加NOW()..它可以添加到插入/更新查询...也许我误解了一些东西。 – Fosco 2010-08-17 14:08:40

+0

我了解默认值以及如何设置NOW()。我对TIMESTAMP和DATETIME的一般看法更加好奇(我的个人偏好是DATETIME)。但是,我只会关闭这个问题,并且最后说,我同意当时用更新的版本解决y2k + 38问题(希望!) – 2010-08-21 07:44:09

相关问题