Как установить время по умолчанию как системное время в MySQL - PullRequest
5 голосов
/ 05 апреля 2010

Я пытаюсь установить в столбцах дату и время по умолчанию системное время. Это показывает мне ошибку

Неверное значение по умолчанию для 'InsertionDate'

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

Ответы [ 3 ]

3 голосов
/ 05 апреля 2010

Значение по умолчанию для столбца в mysql не может быть результатом функции.

Единственным исключением является current_timestamp, как указывает astander.

Ваше утверждение должно быть

alter table `vts`.`tblpickpoint` 
  add column `InsertionDate` TIMESTAMP 
             DEFAULT CURRENT_TIMESTAMP 
2 голосов
/ 05 апреля 2010

Посмотрите на CURRENT_TIMESTAMP

0 голосов
/ 05 апреля 2010

Если вы хотите инициировать и обновлять значение при каждом изменении, используйте это:

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`
...