我记得我在某处读到过,mySQL timestamp数据类型用于在行更新时自动更新,这是真的吗?
例如,我是否必须使用timestamp数据类型或bigint来存储时间戳?
注意:必须存储的时间戳不是由mySQL生成的,它是一个预定义的值,将由PHP生成。
谢谢。
发布于 2011-06-29 19:40:57
可以使用列定义中的ON UPDATE CURRENT_TIMESTAMP将TIMESTAMP类型的列设置为自动更新。
但是,这不会在插入记录时填充。如前所述,您可以在PHP中构建时间戳(格式:YYYY-MM-DD HH:MM:SS)并插入它,也可以在列定义中设置DEFAULT CURRENT_TIMESTAMP的另一个列属性。
欲了解更多信息,请访问:MySQL: TIMESTAMP Properties
更新:如果unix时间戳值是必需的输出,请使用TIMESTAMP存储该值,然后使用以下命令获取unix值:
SELECT UNIX_TIMESTAMP(your_column_name) FROM your_table_name要使用unix时间戳插入,可以使用FROM_UNIXTIME()
INSERT INTO (your_table_name) (your_column_name) VALUES (FROM_UNIXTIME(your_bigint_value));发布于 2011-06-29 19:41:27
好了,我想这个问题已经解决了。
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-types.html
零值时间戳看起来像这样‘1309347278 -00-00 00:00:00',所以它不能用来存储像这样的unix时间戳:0000,所以它必须是BIGINT。
谢谢。
发布于 2017-09-22 06:49:20
正确的答案是int(11),因为时间戳是一个大/大整数。
https://stackoverflow.com/questions/6519968
复制相似问题