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