如何在mysql中将默认日期时间设置为系统日期时间

5

我试图将列的默认日期时间设置为系统日期时间。但是它显示了一个错误:

'InsertionDate' 的默认值无效。

alter table `vts`.`tblpickpoint` 
  add column `InsertionDate` 
      datetime DEFAULT 'Now()' NULL after `PickPointLatLong`

即使您可以将函数用作默认值(实际上不行),您也没有提供函数:'Now()'是一个字符串。 - Álvaro González
3个回答

3

在mysql中,列的默认值不能是函数的结果。

唯一的例外是当前时间戳(as astander指出)。

你的语句应该是:

alter table `vts`.`tblpickpoint` 
  add column `InsertionDate` TIMESTAMP 
             DEFAULT CURRENT_TIMESTAMP 

2

请看CURRENT_TIMESTAMP


0

如果你希望在每次更改时初始化并更新数值,请使用以下代码:

alter table `vts`.`tblpickpoint` 
  add column `InsertionDate` 
       TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
  after `PickPointLatLong`

如果您只需要创建时间,请使用以下代码:
alter table `vts`.`tblpickpoint` 
  add column `InsertionDate` 
       TIMESTAMP DEFAULT CURRENT_TIMESTAMP
  after `PickPointLatLong`

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接