2011-04-07 47 views
1

在MySQL表中,为什么datetime类型需要输入Y-m-d H:i:s格式?MySQL DATETIME类型输入

为什么'它接受d-m-Y H:i:s格式的输入?

+0

这就是这样...... =)上帝的意愿也许 – Headshota 2011-04-07 07:12:45

回答

0

这取决于服务器变量。

运行此查询,看看他们 -

SHOW VARIABLES LIKE 'date%format'; 

看一看约DATE_FORMAT和DATETIME_FORMAT选择手动。

+0

MySQL中的变量date_format和变量datetime_format什么都不做,历史上从来没有做过任何事情。请参阅http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_date_format – Isotopp 2011-04-07 11:11:19

+0

@Isotopp是的,的确,由于某些原因,这些变量未被服务器使用;只是只读 – Devart 2011-04-07 11:46:39

0

这是接受日期的mysql标准。你必须以指定的格式传递它。

应该有一个标准来接受和存储mysql内部选择的日期格式yyyy-mm-dd的格式。

想想看,如果没有标准,mysql如何在内部确定日期在数据库中存储的格式以及如何处理日期。

您发送的日期为dd-mm-yyy02-02-2011其他人正在发送mm-dd-yyyy02-03-2011。如果日期格式没有标准,则无法确定上例中的月份和日期。

Mysql的选择它是YYYY-mm-dd

1

MySQL对日期使用http://en.wikipedia.org/wiki/ISO_8601格式。这是一个国际标准。它也是MySQL使用的唯一日期格式。

这种格式有一个附加的优点,就是按照自然的方式正确排序,因为订单YYYY-MM-DD HH:MM:SS很好地从较少到更具体。

您可以使用http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format函数将该类型的日期格式化为任何需要的格式,或者使用宿主语言的函数在客户端执行此操作。

+0

感谢您的信息。 – Pradip 2011-04-08 06:43:27