【问题标题】:insert into MySQL server real time and date插入 MySQL 服务器实时和日期
【发布时间】:2012-04-03 01:20:56
【问题描述】:

我有这个 MySQL 查询:

$SQLquery = "INSERT INTO `experimental`.`comments` (`comment_id`, `comment_dt`) 
             VALUES (NULL, CURRENT_TIMESTAMP);";

当我在comment_dt 的 MySQL 数据库中使用 PHP 执行这一行时,出现 我的计算机本地时间和日期。有人知道如何在我的数据库中设置一个服务器本地和时间日期吗?

【问题讨论】:

    标签: php mysql date time


    【解决方案1】:

    最好的方法是让你的comment_dtDATETIME 类型并设置默认值CURRENT_TIMESTAMP。无需通过插入查询手动插入。

    每次插入新行时,您的comment_dt 都会使用服务器日期时间自动更新。

    ALTER TABLE comments ADD comment_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP 
    

    【讨论】:

    • ALTER TABLE comments ADD comment_dt DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP MySQL 错误:#1067 - Invalid default value for 'comment_dt' 为什么当我想创建 comment_dt 列 @ 时出现此错误987654329@??
    • 使用时间戳类型而不是日期时间类型
    • 好的,我解决了这个问题,但是在我的数据库中仍然输入了我的计算机日期和时间。例如,如果我在我的数据库中使用 PHP 执行 MySQL 查询行时将本地计算机日期更改为 2010 年,则会存储错误的日期。
    • 不可能。你的数据库服务器在哪里?在本地主机上?
    • 是的。如果从 localhost 运行,它将从本地系统获取
    【解决方案2】:
    $SQLquery = "INSERT INTO `experimental`.`comments` (`comment_id`, `comment_dt`) VALUES (NULL, CURRENT_TIMESTAMP());";
    

    使用 MySQL 服务器函数 CURRENT_TIMESTAMP()

    【讨论】:

    • 当我在数据库comment_dt中使用CURDATE()函数时出现:0000-00-00 00:00:00
    • 您的 comment_dt 数据类型是什么?您可以尝试在 mysql 命令行工具中运行“SELECT CURDATE()”
    猜你喜欢
    • 1970-01-01
    • 2011-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-02
    相关资源
    最近更新 更多