Stas
Stas

Reputation: 1365

How to add a date column to a table with current date as default value?

Where I can see which default columns SQLite table will have after creating? I need a column with datetime which has default value of time when data added to the table.\

Now I'm trying:

ALTER TABLE recipes ADD COLUMN timestamp DATE DEFAULT (datetime('now','localtime'));

And I'm obtaining the following message:

SQLiteManager: Likely SQL syntax error: ALTER TABLE recipes ADD COLUMN timestamp DATE DEFAULT (datetime('now','localtime')); [ Cannot add a column with non-constant default ]
Exception Name: NS_ERROR_FAILURE
 Exception Message: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE)         [mozIStorageConnection.createStatement]

Upvotes: 7

Views: 11642

Answers (1)

devanand
devanand

Reputation: 5290

Use the create table instead of altering the table. If there are values inside you'll have this kind of a problem. See

http://sqlite.1065341.n5.nabble.com/Can-t-insert-timestamp-field-with-value-CURRENT-TIME-td42729.html

all the best

Upvotes: 15

Related Questions