如何将“ON update current timestamp”添加到现有表列

时间:2012-03-01 14:08:21

标签: mysql

我的列中说ts_activity是MYSQL中的数据类型时间戳,默认值是当前时间戳。我想在此列值上添加更新应用当前时间戳。

我无法通过alter query来执行此操作。虽然创建新表及其列我可以添加,但无法通过添加更新应用当前时间戳来修改现有列。

有人可以告诉我确切的查询来处理这个问题。我们可以在创建表格后对其进行更改。

由于

2 个答案:

答案 0 :(得分:33)

Devart的建议可行,但如果我不重命名该列,我更愿意使用MODIFY COLUMN代替CHANGE COLUMN

我还假设你的ts_activity列不可为空,因为你有一个默认值,所以我把它设置为NOT NULL,但这取决于你。

这是我将使用的声明:

ALTER TABLE your_table
  MODIFY COLUMN ts_activity TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;

答案 1 :(得分:9)

尝试此查询 -

ALTER TABLE table_name
  CHANGE COLUMN column_name column_name TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;

注意,在表中只有一个字段可以使用'ON UPDATE CURRENT_TIMESTAMP'选项。