我对以MySQL的TIMESTAMP格式和自定义的UNSIGNED
INT格式保存日期和时间值感到困惑。这里的主要考虑因素是检索速度,PHP中适当的范围计算以及偶尔格式化为人类可读的值。
每种类型及其范围所需的存储空间:
DATETIME 8 bytes '1000-01-01 00:00:00' to '9999-12-31 23:59:59'
TIMESTAMP 4 bytes '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC
UNSIGNED INT 4 bytes (Maximum Value 4294967295)
我根本不需要DATETIME的范围。我在TIMESTAMP和UNSIGNED INT之间陷入困境。
支持UNSIGNED INT的参数:
TIMESTAMP给我的唯一好处是,当我从mysql表中手动读取值并需要“查看”它们时。
是否有令人信服的理由使用TIMESTAMP而不是UNSIGNED INT?
TIMESTAMP的参数
DEFAULT CURRENT_TIMESTAMP
或ON UPDATE CURRENT_TIMESTAMP
(每个表只有一列,直到MySQL 5.6.5为止)才具有自动时间戳列。FROM_UNIXTIME()
函数-这将使编写可使用索引的查询更加容易>> date('Y-m-d h:i:s',4294967295);
‘1969-12-31 11:59:59’
所以范围实际上是相同的
* 您仍然可以使用UNIX_TIMESTAMP()函数来获取整数的unix时间戳,而不会产生额外的开销:[http](http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_unix-timestamp) : [//dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_unix-timestamp](http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_unix-timestamp)
在TIMESTAMP列上使用UNIX_TIMESTAMP()时,该函数将直接返回内部时间戳记值,而不进行隐式的“从字符串到Unix时间戳记”的转换
本文向大家介绍mysql之TIMESTAMP(时间戳)用法详解,包括了mysql之TIMESTAMP(时间戳)用法详解的使用技巧和注意事项,需要的朋友参考一下 一、TIMESTAMP的变体 TIMESTAMP时间戳在创建的时候可以有多重不同的特性,如: 1.在创建新记录和修改现有记录的时候都对这个数据列刷新: 2.在创建新记录的时候把这个字段设置为当前时间,但以后修改时,不再刷新它: 3.在创建新
问题内容: 我还没有使用过Redis,但我听说过它,并打算尝试将其作为缓存存储。 我听说Redis使用内存作为缓存存储数据库,那么如果我使用变量作为对象或字典数据类型来存储数据有什么区别?喜欢: Redis有什么优势? 问题答案: Redis是一个 远程 数据结构服务器。这肯定比仅将数据存储在本地内存中要慢(因为它涉及套接字往返来获取/存储数据)。但是,它也带来了一些有趣的属性: 应用程序的所有进
问题内容: 我正在查看MySQL存储过程和函数。真正的区别是什么? 它们似乎相似,但是功能有更多限制。 我可能是错的,但是似乎存储过程可以完成所有工作,而存储函数可以完成更多工作。为什么/何时使用过程与函数? 问题答案: 您不能将存储过程与普通的SQL混合使用,而可以与存储函数混合使用。 例如,如果是一个过程,则无效,但如果是一个函数,则可以这样做。代价是功能比程序具有更多的限制。
问题内容: 我刚刚了解到MySQL具有本地CSV存储引擎,该引擎将数据存储在每个表的逗号分隔值文件中。 是否可以直接从上传的CSV文件创建表格,例如: 用户在哪里上传? 问题答案: 这不可能。要创建表,您需要一个表架构。您拥有的是一个数据文件。无法使用它创建模式。 您可以做的是检查文件中是否有标题行,在这种情况下,您可以使用该标题行手动创建表。 但是,有一种使用批处理文件生成create tabl
本文向大家介绍MySQL timestamp的类型与时区实例详解,包括了MySQL timestamp的类型与时区实例详解的使用技巧和注意事项,需要的朋友参考一下 MySQL timestamp的类型与时区 MySQL的timestamp类型时间范围between '1970-01-01 00:00:01' and '2038-01-19 03:14:07',超出这个范围则值记录为'0000-0
问题内容: 我在这里看到了一些相关的问题……本质上,我想要的是将日期时间存储为UTC,并让应用程序用户选择他想显示日期的时区-time in。 由于似乎日期时间字段受基础JDBC驱动程序的影响,所以我想知道这是否是存储UTC日期时间的可接受方法: 将MySQL和Application Server计算机都设置为UTC时区(无需分开) MySQL和JVM都应该选择基础系统时间设置(如果没有其他说明的