2

我正在开发一个函数,该函数比较图像的创建日期和修改日期,并使用 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;
4

1 回答 1

1

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

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

有关详细信息,请参阅 TIMESTAMP 手册,请访问时间戳初始化

于 2013-05-01T17:22:45.063 回答