我使用int类型来存储日期/时间。为了方便从MySQL获取特定范围的数据,我尝试将其更改为TIMESTAMP/DATETIME
,但是它在两种情况下都会给出错误,如附图所示。数据类型TIMESTAMP/DATETIME
的格式为YYYY-MM-DD HH:MM:SS
,它的长度为19个字符。DATETIME和TIMESTAMP长度/值错误
我无法获得适当的教程/文章,因为我可以从头开始。
我使用int类型来存储日期/时间。为了方便从MySQL获取特定范围的数据,我尝试将其更改为TIMESTAMP/DATETIME
,但是它在两种情况下都会给出错误,如附图所示。数据类型TIMESTAMP/DATETIME
的格式为YYYY-MM-DD HH:MM:SS
,它的长度为19个字符。DATETIME和TIMESTAMP长度/值错误
我无法获得适当的教程/文章,因为我可以从头开始。
当定义一个DATETIME或时间戳字段,就没有必要指定长度。
这是该错误消息是指:
甲DATETIME或TIMESTAMP值可以高达微秒(6位)精度
MySQL的允许时间分数秒包括后分数秒部分,DATETIME和TIMESTAMP值,精度高达微秒(6位)。要定义包含小数秒部分的列,请使用语法type_name(fsp),其中type_name是TIME,DATETIME或TIMESTAMP,而fsp是小数秒精度。例如:
CREATE TABLE t1 (t TIME(3), dt DATETIME(6));
| TIME[(fsp)]
| TIMESTAMP[(fsp)]
| DATETIME[(fsp)]
文档:
谢谢@ Jocelyn让我清楚。 @CBroe已经以降低2分的成本指出了这一点。作为一名生物学学生的程序员是艰难的工作。 –
不要一直挂在教程上。直接在官方文档中直接阅读这些内容会更有意义。 http://dev.mysql.com/doc/refman/5.7/en/date-and-time-type-overview.html – CBroe
所以限制6意味着它是分数值?我猜如果用'YYYY-MM-DD HH:MM:SS'喂养数据库,我会得到结果。感谢您指出这个关于这个数据类型的关键点,尽管我已经阅读了http://dev.mysql.com/上的文章。 –