php - Mysql Unix 时间戳存储?

标签 php mysql

我在这里遇到了一点问题。我的数据库将 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/

相关文章:

mysql - 将数据库中的数据填充到选择的保管箱中

java - 将 PHPMyAdmin MySQL 连接配置转换为 JDBC

php - Wordpress - 仅在特定页面上显示 metabox

javascript - 在php中从mysql复制带有嵌入式下拉列表的html表单javascript

php - 链接的 isset - PHP

mysql - 如何对子表求和?

php - 根据支付网关和转换状态更改 Woocommerce 订单状态

mysql - Ruby 脚本在 sql 查询完成之前结束

php - 如何合并本地和实时数据库?

MYSQL:在1中显示多列