¿Cómo crear una columna de marca de tiempo con el valor predeterminado 'ahora'?

Resuelto Joep asked hace 16 años • 8 respuestas

¿ Cómo crear una tabla con una columna de marca de tiempo cuyo valor predeterminado es DATETIME('now')?

Como esto:

CREATE TABLE test (
    id INTEGER PRIMARY KEY AUTOINCREMENT, 
    t TIMESTAMP DEFAULT DATETIME('now')
);

Esto da un error.

Joep avatar Oct 14 '08 14:10 Joep
Aceptado

A partir de la versión 3.1.0 puedes usar CURRENT_TIMESTAMPcon la cláusula DEFAULT :

Si el valor predeterminado de una columna es CURRENT_TIME, CURRENT_DATE o CURRENT_TIMESTAMP, entonces el valor utilizado en la nueva fila es una representación de texto de la fecha y/u hora UTC actual. Para CURRENT_TIME, el formato del valor es "HH:MM:SS". Para CURRENT_DATE, "AAAA-MM-DD". El formato de CURRENT_TIMESTAMP es "AAAA-MM-DD HH:MM:SS".

CREATE TABLE test (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    t TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Owen avatar Oct 14 '2008 08:10 Owen

según el dr. hipp en una publicación de lista reciente:

CREATE TABLE whatever(
     ....
     timestamp DATE DEFAULT (datetime('now','localtime')),
     ...
);
rev avatar Oct 23 '2008 00:10 rev