我在这里遇到了一点问题。我的数据库将 unix 时间戳存储为字符串 2011-09-01 20:22:36
我需要它作为 Unix 时间戳 ########### 所以我可以使用 > then 符号比较它。但我还需要让它在更新时自动设置时间戳 ( ON UPDATE CURRENT TIMESTAMP
) 以及 default of the timestamp
这并不是那么重要,因为如果需要,我可以在 PHP 中完成。
我该怎么做? timestamp
现在是日期/时间组合字符串而不是整数,所以我无法比较它?
我的比较字符串是
$sql = sprintf("SELECT nid, field_date_value, field_movie_location_value FROM content_type_mobile_event WHERE updated<'%s'", $vid);
万一有人想知道。
最佳答案
使用 UNIX_TIMESTAMP()
function在您的查询中转换它。如果您必须将它与来自 PHP 的 Unix 时间戳进行比较,最简单的方法是允许 MySQL 在其末端处理列的转换。
$sql = sprintf("SELECT nid, othercols FROM content_type_mobile_event WHERE UNIX_TIMESTAMP(updated) < '%s'", $vid);
关于php - Mysql Unix 时间戳存储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7278329/