无法将时间戳列更改为具有默认值current_timestamp

时间:2019-12-30 18:27:29

标签: mysql syntax alter-table

基本上,我想添加一个新的updatedTime列,以便在更新和创建时自动将其设置为current_timestamp。我也想将现有行的updatedTime列设置为null。 所以我尝试如下所示:

  1. 添加新列,并将其默认设置为空
  2. 之后将新列默认设置为current_timestamp
alter table A
    add column updatedTime timestamp null 
        default null on update current_timestamp;

alter table A
    alter column updatedTime set default current_timestamp;

原因是因为我的表巨大,大约有700万行,并且它也在实时数据库中,所以我尝试优化查询。通过这种方式,我只需要遍历整个表一次就可以进行第一个查询。第二个查询将仅更改表配置文件。 这样我就可以运行第一个查询,但是第二个查询出现语法错误。

编辑: 我的数据库是mysql服务器5.7

0 个答案:

没有答案