tags:

views:

80

answers:

3

I am trying to set my columns default date time to system datetime. It shows me an error

Invalid default value for 'InsertionDate'

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

Have a look at CURRENT_TIMESTAMP

astander
+2  A: 

The default value for a column in mysql cannot be the result of a function.

The one exception is the current_timestamp as astander points out.

Your statement should be

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

If you want to init and update the value on every change, use this:

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

If you only want the creation time, use this:

alter table `vts`.`tblpickpoint` 
  add column `InsertionDate` 
       TIMESTAMP DEFAULT CURRENT_TIMESTAMP
  after `PickPointLatLong`
kaiz.net