mysql current_timestamp 不自动更新_MySQL ON UPDATE CURRENT_TIMESTAMP不更新

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 21:01   4227   0

我有一张桌子,看起来像这样:

CREATE TABLE IF NOT EXISTS `Hosts` (

`id` int(128) NOT NULL AUTO_INCREMENT,

`IP` varchar(15) NOT NULL DEFAULT '',

`Port` varchar(5) NOT NULL DEFAULT '',

`Password` varchar(32) NOT NULL DEFAULT '',

`Username` varchar(32) NOT NULL DEFAULT '',

`Tid` varchar(32) NOT NULL DEFAULT '',

`EquipType` varchar(64) NOT NULL DEFAULT '',

`Version` varchar(128) DEFAULT NULL,

`Status` varchar(10) NOT NULL DEFAULT '',

`Location` varchar(128) NOT NULL DEFAULT '',

`Lastconnection` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,

`Lastbackup` date NOT NULL DEFAULT '0000-00-00',

`Backupstatus` varchar(64) NOT NULL DEFAULT '',

`Backupmsg` text,

`Backupfile` varchar(30) NOT NULL DEFAULT '',

PRIMARY KEY (`id`),

KEY `IP` (`IP`),

KEY `Tid` (`Tid`),

KEY `EquipType` (`EquipType`),

KEY `Status` (`Status`),

KEY `Lastbackup` (`Lastbackup`),

KEY `Backupstatus` (`Backupstatus`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=716 ;

在我看来,这意味着随时更新一行,“Lastconnection”字段应该加上当前时间戳。但是,当我运行像:

update Hosts set Backupstatus = 'FAIL', Backupmsg = 'Connection timed out' where Tid = 'SITE001'

最后连接保持’0000-00-00 00:00:00’。有一个我没有看到的数据库问题,或者我完全误解了“ON UPDATE CURRENT_TIMESTAMP”子句。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP