Pavel Ivanov <paiva...@gmail.com> wrote:
> The correct syntax is
> 
> UPDATE sites SET createTime = DATETIME('NOW'), updateTime =
> DATETIME('NOW')
> WHERE rowid = new.rowid;
> 
> So I wonder if you made a typo and actually only createTime were
> updated when updateTime remained unchanged.

The original statement is valid, it just doesn't mean what the OP thought it 
meant:

UPDATE sites SET createTime =
    (DATETIME('NOW') AND 
     (updateTime = DATETIME('NOW'))
WHERE rowid = new.rowid;

This says: set createTime to 1 if a) DATETIME('NOW') is logically true (always 
the case, since it produces a non-empty string) and b) updateTime is equal to 
DATETIME('NOW') (possible though unlikely). Otherwise, set createTime to 0 - 
which is likely what happened most of the time.
-- 
Igor Tandetnik


_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to