14

这是我的桌子:

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

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

4

3 回答 3

25

如果要向megssage表中添加字段:

ALTER TABLE `megssage` ADD time_updated TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
于 2012-06-13T11:08:41.977 回答
11

尝试

ALTER TABLE `megssage` 
    CHANGE COLUMN `time_updated` `time_updated` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ;
于 2012-11-15T14:29:38.610 回答
2

您可以使用 :

ALTER TABLE `megssage` ADD `TIME_UPDATED` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL AFTER `time_create` 
于 2012-06-13T11:03:16.563 回答