0

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

希望你能帮我一把。谢谢!

4

1 回答 1

0

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

总之谢谢大家!

于 2013-11-07T18:37:54.413 回答