我有 mysql 数据库,以生日列作为日期。
保存到此列的最佳方式是什么,年份是可选的。我应该随便放一些年份吗?在数据库中保存生日的最佳做法是什么。
我在 cakephp 中创建了 3 个文本字段,日、月和年..但不确定如何处理这个,以保存在数据库中,因为如果我随机输入年份(可能是 0001,因为 0000 不被接受),当我把它拉回来时,它会显示年份。
最佳答案
只是一个意见,但如果年份是可选的(有些会有它;有些不会)我会使用 DATE
类型并将年份设置为零。您可以像这样检查没有年份的生日:
SELECT * FROM myTable WHERE YEAR(birthdate) = 0
或者,如果 birthdate
列被索引,请改用它,因为它是可优化的:
SELECT * FROM myTable WHERE birthdate <= '0000-12-31'
如果所有值都禁止使用年份 - 换句话说,您永远不会存储年份 - 我建议使用单独的月份和日期列。
关于php - 用可选年份存储生日(生日)字段的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20432497/