我正在使用MYSQL数据库,想知道这是一个很好的做法.
方法1 - 在DB中使用列类型作为时间戳.ie将包含类似2012-11-13 00:00:00方式2的值 - 使用列作为日期.ie将包含数据库中的2012-11-13等值.
这里的问题是,存储DOB.我们真的需要时间戳作为列类型吗?在我看来,DOB也不需要时间段(00:00:00).
它应该是时间戳,因为我们可以将值存储为隐藏,这样即使有人看到数据库,也没有人可以查看它.要查看,我们必须使用php中的strtotime().
请告诉我在数据库中存储DOB的正确方法.
我建议使用DATE.
TIMESTAMP的范围为'1970-01-01 00:00:01'到'2038-01-19 03:14:07'(UTC),因此在大多数情况下它不适合DOB.
可以使用DATETIME,但您应该问自己:您是否希望用户填写出生时间?如果不是 - 使用DATE.
通常这不是什么大问题,但您也可以考虑所需的存储空间:
DATE: 3 bytes TIMESTAMP: 4 bytes DATETIME: 8 bytes