更改表添加新字段“ON UPDATE CURRENT_TIMESTAMP”

时间:2012-06-13 10:57:36

标签: 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

我想将新列添加为time_updated,默认值为“ON UPDATE CURRENT_TIMESTAMP”。

我试过了:

ALTER TABLE `megssage` 
   CHANGE `time_updated` `time_updated` TIMESTAMP NULL DEFAULT  ON UPDATE CURRENT_TIMESTAMP

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

3 个答案:

答案 0 :(得分:20)

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

ALTER TABLE message ADD time_updated TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;

答案 1 :(得分:6)

尝试

ALTER TABLE `megssage` 
    CHANGE COLUMN `time_updated` `time_updated` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ;

答案 2 :(得分:2)

您可以使用:

ALTER TABLE `megssage` ADD `TIME_UPDATED` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL AFTER `time_create`