我在处理MySQL 中的Timestamp数据类型时遇到了一些麻烦。
我正在使用简单的数据库结构在我的数据库中保存简单的记录,例如:
身份证号码 名称 varchar 日期时间戳 文本 varchar
然后用类似的东西检索它们:
SELECT * FROM table WHERE Date BETWEEN '2013-01-01' AND '2013-06-30'
如果我存储让 MySQL 用实际时间戳填充 Date 字段的记录,一切正常,例如:2013-10-04 22:40:02
这意味着我不会在我的查询中向该Date
字段添加任何值。INSERT
但是我需要能够自己添加日期,因为我的应用程序需要存储应用程序启动的日期,而不是查询发送到数据库的日期和时间。所以我要做的是创建我的Date
字段使用的相同日期/时间格式2013-10-04 22:40:02
,然后简单地插入:
INSERT INTO table (Name, Date, Text)
VALUES ('Peter', '2013-10-04 22:40:02', 'Hello...')
现在,这样做我无法使用这样的选择查询按日期带来任何结果:
SELECT * FROM table WHERE Date BETWEEN '2013-01-01' AND '2013-11-30'
即使我尝试使用 PHPMyAdmin 界面按日期对结果进行排序,所有包含手动添加日期的记录都会消失。如果我按 ID 对它们进行排序,它们会重新出现。我检查了,日期和格式是正确的。所以我不知道问题可能是什么。顺便说一句,我是 MySQL 的新手。
希望你能帮我一把。谢谢!