Mysql/Php - 当前日期和时间
Posted
技术标签:
【中文标题】Mysql/Php - 当前日期和时间【英文标题】:Mysql/Php - Current date and time 【发布时间】:2011-04-06 19:30:53 【问题描述】:我有一个查询,我想用当前日期时间更新列。我要更新的列是日期时间类型。
如何获取和设置?
else //If the last update is NULL, It must be players first page load. So set datetime equal to NOW
$query = "UPDATE `stats` SET `last_ap_update` = WHERE `member_id` = $_SESSION['SESS_MEMBER_ID']";
$queryresult = mysql_query($insertqry);
【问题讨论】:
如果您对列使用timestamp
类型,它会在记录更新时自动执行此操作...dev.mysql.com/doc/refman/5.0/en/timestamp.html
这对我的目的不起作用。
【参考方案1】:
在查询中使用NOW()
将提供此功能。
else //If the last update is NULL, It must be players first page load. So set datetime equal to NOW
$query = "UPDATE `stats` SET `last_ap_update` = NOW() WHERE `member_id` = $_SESSION['SESS_MEMBER_ID']";
$queryresult = mysql_query($insertqry);
但如果在表格更新时随时更新,我建议将列更改为TIMESTAMP
,这将在记录更改时自动更新为您的当前时间。
【讨论】:
请记住,mySql 存在时间单位小于秒的问题。如果您需要此功能,有一些不受支持的补丁程序。您可能只想在构建请求字符串时提供系统时间,并围绕 epoch + 宏秒格式工作(正如许多有审计需求的 MySQL 人员所做的那样)【参考方案2】:else //If the last update is NULL, It must be players first page load. So set datetime equal to NOW
$query = "UPDATE `stats` SET `last_ap_update` = '".gmdate("Y-m-d H:i:s")."' WHERE `member_id` = $_SESSION['SESS_MEMBER_ID']";
$queryresult = mysql_query($insertqry);
你可以使用任何你想要的格式来代替gmdate("Y-m-d H:i:s")
【讨论】:
【参考方案3】:您可以使用 mysql 函数 NOW() 来完成此操作,或者您可以将 $_SERVER['REQUEST_TIME'] 粘贴在其中,以便查询被 mysql 缓存。
【讨论】:
以上是关于Mysql/Php - 当前日期和时间的主要内容,如果未能解决你的问题,请参考以下文章
MySQL PHP插入新行,其中rowNum列值始终按日期和时间按时间顺序排列