我在处理MySQL中 Timestamp 数据类型时遇到了一些麻烦。
我使用简单的数据库结构在数据库中保存简单记录,例如:
ID int Name varchar Date timestamp Text varchar
然后用以下内容检索它们:
SELECT * FROM table WHERE Date BETWEEN '2013-01-01' AND '2013-06-30'
如果我存储允许MySQL使用实际时间戳填充Date字段的记录,一切正常,例如:2013-10-04 22:40:02
这意味着我不会在Date
字段中添加任何值INSERT
字段1}}查询。
但是我需要能够自己添加日期,因为我的应用程序需要存储应用程序启动时的日期,而不是查询发送到数据库的日期和时间。
所以我所做的是创建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的新手。
希望你能帮我一臂之力。谢谢!答案 0 :(得分:0)
好吧,我认为我发现了问题,它与PHP和MySQL无关,问题是我使用JavaScript生成日期,并且它给出了错误的月份..:/
无论如何,感谢大家!