我有一个MySQL表,其中有'date_added'(日期)字段,'time_added'(时间)字段和'timestamp'(int)字段。
之后我发现我可以将时间戳转换为日期或时间,所以这意味着我可以删除其他日期/时间字段并仅保留时间戳吗?
提前致谢
答案 0 :(得分:1)
在您描述的布局中,我认为没有理由拥有多个字段。您可以使用DATETIME
列,如果您喜欢DB magic,则可以使用TIMESTAMP
列(不要将其与unix时间戳混淆)。表中的第一个TIMESTAMP可以配置为自动更新。
值得注意的是,某些平台在使用Unix时间戳时允许非常窄的日期范围(在1970年之前或2038年之后存储日期可能会有问题),而MySQL的DATETIME类型的范围从1000年到9999.
答案 1 :(得分:0)
是的!根据需要使用查询进行转换。
答案 2 :(得分:0)
是的,请记住32位时间戳将耗尽20年内的值。
答案 3 :(得分:0)
你应该摆脱那些领域吗?也许不是。
如果您发现自己特定地按日期或时间进行查询,那么单独存储和索引它们会比执行WHERE DATE(timestamp) = '01-01-2001'
这样不可索引且效率低下的事情更有效。
取决于该表的查询。