【问题标题】:MySQL custom Timestamp valueMySQL自定义时间戳值
【发布时间】:2013-11-07 18:00:32
【问题描述】:

我在处理 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,这意味着我不会在我的 INSERT 查询中向 Date 字段添加任何值。

但我需要能够自己添加日期,因为我的应用程序需要存储应用程序启动的日期,而不是查询发送到数据库的日期和时间。 所以我要做的是创建我的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 新手。

希望你能帮帮我。谢谢!

【问题讨论】:

  • 这行得通吗:SELECT * FROM table WHERE Date BETWEEN '2013-01-01 00:00:00' AND '2013-11-30 23:59:59' ?
  • @iamde_coder 感谢您的建议,我试过了但没有运气,它只会带来自动添加日期的结果

标签: php mysql timestamp


【解决方案1】:

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

还是谢谢大家!

【讨论】:

    猜你喜欢
    • 2017-08-07
    • 1970-01-01
    • 1970-01-01
    • 2015-06-21
    • 2013-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多