2010-04-05 4 views
4

J'essaie de définir l'heure de la date par défaut de mes colonnes sur la date et l'heure du système. Il me montre une erreurComment définir l'heure de la date par défaut en tant que date du système dans mysql

valeur par défaut non valide pour 'InsertionDate'

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

Même si vous pouviez utiliser une fonction comme valeur par défaut (vous ne pouvez pas), vous ne fournissez pas de fonction: ''Now()'' est une chaîne. –

Répondre

2

La valeur par défaut pour une colonne dans une base MySQL ne peut pas être le résultat d'une fonction.

La seule exception est le current_timestamp, comme l'indique astander.

Votre déclaration doit être

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

Jetez un oeil à CURRENT_TIMESTAMP

0

Si vous voulez initialiser et mettre à jour la valeur à chaque changement, utilisez ceci:

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

Si vous voulez seulement le temps de création, utilisez ceci:

alter table `vts`.`tblpickpoint` 
    add column `InsertionDate` 
     TIMESTAMP DEFAULT CURRENT_TIMESTAMP 
    after `PickPointLatLong` 
Questions connexes