如何修改MySQL列以在插入时设置CURRENT_TIMESTAMP并在更新时不执行任何操作?

时间:2014-04-01 12:47:13

标签: mysql

我有一个具有以下结构的MySQL表:

CREATE TABLE `admin_members` (
  `admin_id` varchar(14) NOT NULL,
  `joined_on` timestamp NOT NULL,
  `admin_email` varchar(128) NOT NULL,
  `admin_password` varchar(128) NOT NULL,
  `admin_name` varchar(128) NOT NULL,
  UNIQUE KEY `admin_id` (`admin_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

我希望joined_on字段在插入时自动设置为CURRENT_TIMEZONE作为默认值,并且在更新时不执行任何操作。如何更新表格来执行此操作?

1 个答案:

答案 0 :(得分:0)

使用以下语法来更新创建但不更新。

`joined_on` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

如果要在两种情况下都更新,可以使用以下语法:

`joined_on` TIMESTAMP DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,