更改表添加新字段"ON UPDATE CURRENT_TIMESTAMP"

Ana*_*and 13 mysql

这是我的表:

CREATE TABLE `megssage`(
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(256) DEFAULT NULL,
  `time_create` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
Run Code Online (Sandbox Code Playgroud)

我想添加新列time_updated,默认值为"ON UPDATE CURRENT_TIMESTAMP".

我试过这个:

ALTER TABLE `megssage` 
   CHANGE `time_updated` `time_updated` TIMESTAMP NULL DEFAULT  ON UPDATE CURRENT_TIMESTAMP
Run Code Online (Sandbox Code Playgroud)

但是我收到了一个错误.有人能帮我吗?

小智 22

如果要在消息表中添加字段:

ALTER TABLE message ADD time_updated TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
Run Code Online (Sandbox Code Playgroud)


Sim*_*imY 7

尝试

ALTER TABLE `megssage` 
    CHANGE COLUMN `time_updated` `time_updated` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ;
Run Code Online (Sandbox Code Playgroud)

  • 非常适合将"ON UPDATE"添加到现有列中! (2认同)

CP *_*oni 2

您可以使用 :

ALTER TABLE `megssage` ADD `TIME_UPDATED` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL AFTER `time_create` 
Run Code Online (Sandbox Code Playgroud)