MySQL自定义时间戳值

时间:2013-11-07 18:00:32

标签: php mysql timestamp

我在处理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的新手。

希望你能帮我一臂之力。谢谢!

1 个答案:

答案 0 :(得分:0)

好吧,我认为我发现了问题,它与PHP和MySQL无关,问题是我使用JavaScript生成日期,并且它给出了错误的月份..:/

无论如何,感谢大家!