PHP/SQL 创建日期与修改日期

标签 php mysql sql date datetime

我正在开发一个函数,比较图像的创建日期和修改日期,并使用 PHP + MySQL 返回每个案例的状态。但是,我意识到我试图比较的数据最终都使用了 MySQL 中的 CURRENT_TIMESTAMP,因此无论何时更新它们,它们最终都会具有相同的日期。

有没有办法只保存数据插入数据库的第一个日期(创建日期),这样它就不会根据修改日期发生变化?

感谢任何帮助,提前致谢!

更新:

我的时间戳列是使用“DEFAULT CURRENT_TIMESTAMP”而不是“ON UPDATE CURRENT_TIMESTAMP”选项配置的。还有其他解决方法吗?

更新 2:

请参阅下面我的表定义。

CREATE TABLE IF NOT EXISTS `images` (
  `id` varchar(50) NOT NULL,
  `patientid` varchar(8) NOT NULL,
  `caseid` varchar(25) NOT NULL,
  `image_name` varchar(256) NOT NULL,
  `status` int(1) unsigned NOT NULL,
  `comments` varchar(4000) DEFAULT NULL,
  `mod_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

最佳答案

似乎您的时间戳列配置了“ON UPDATE CURRENT_TIMESTAMP”选项,该选项会自动更新它们。

由于似乎没有办法在列上更改此设置,因此您必须在没有该选项的情况下创建一个新列。

有关详细信息,请参阅 TIMESTAMP 手册,访问 timestamp-initialization

关于PHP/SQL 创建日期与修改日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16320032/

相关文章:

php - mysqli 准备不返回表中的结果

mysql - 通过 SQL 对星期几和小时/分钟进行双组

sql - 用SQL脚本检查存储过程是否有指定参数

PHP 和 MySQL : fetch images from database

sql - 如何从SQL中的一组数字中选择随机数

php - 更改后续行的类

php - MySQL为了开发临时修改数据库

php - 单列的mysql多个非运算符

mysql - 如何在MySQL数据库中存储货币符号?

php - 如何连接到另一台服务器上的数据库?