几年前,我尝试使用较早版本的MySQL运行此表来创建此表,结果运行良好。在较新版本的MySQL中,似乎timestamp(8)现在出现了问题。
CREATE TABLE top_hits (
sid int(11),
ip varchar(20),
cdate timestamp(8)
)我可以使用什么来替代第4行的时间戳(8)?YYYYMMDD
cdate timestamp(8)提前谢谢。
发布于 2012-12-26 15:45:34
字段定义中的(8)部件不会对以下内容产生任何影响:
(8)部分指定显示大小。执行SELECT时,MySQL将从时间戳as described here返回日期的第一个XYZ部分。
因此,只需删除create table查询中的显示部分。这将创建一个timestamp列。您可以使用MySQL函数或在PHP中格式化时间戳(例如,砍掉时间部分等)。
或者使用根本不存储时间部分的DATE数据类型。
发布于 2012-12-26 15:29:49
您需要DATE类型,它存储年、月和日。
如果您需要格式化输出(YYYYMMDD),请使用DATE_FORMAT函数。
发布于 2012-12-26 14:08:48
的语法
timestamp(N)在mysql 5中已被弃用
您可以选择您选择的日期
SELECT date(ts)+0 from t;DATETIME数据类型占用8个字节的存储时间戳占用4个字节,date time占用更大范围的日期
https://stackoverflow.com/questions/14036523
复制相似问题