¿Cómo crear una columna de marca de tiempo con el valor predeterminado 'ahora'?
¿ 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.
Aceptado
A partir de la versión 3.1.0 puedes usar CURRENT_TIMESTAMP
con 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
);
según el dr. hipp en una publicación de lista reciente:
CREATE TABLE whatever(
....
timestamp DATE DEFAULT (datetime('now','localtime')),
...
);