2008/11/3 John <[EMAIL PROTECTED]>:
> Hi
>
> I want to (if possible) create a table with a default timestamp in a
> format other than "YYYY-MM-DD ..." per example below. I have tried a few
> variants but always get same error.
>
> Can this be done and if so, how?
>
> create table (
> custnum integer primary key not null,
> note text,
> stamp default (strftime('%s', current_timestamp))
> );
> SQL error: near "(": syntax error
>
> --
> Regards
> John McMahon
> [EMAIL PROTECTED]
>
>
>From http://www.sqlite.org/lang_createtable.html,
"The DEFAULT constraint specifies a default value to use when doing an
INSERT. The value may be NULL, a string constant or a number. "; using
a function as a default is not covered.
A trigger can probably achieve what you want :
create table tst( id integer primary key, ts integer default
current_timestamp );
create trigger tst_update_ts after insert on tst begin
update tst set ts = case strftime( '%s', ts ) not null when 1
then strftime( '%s', ts ) else ts end where id=new.id;
end;
insert into tst( id ) values( null );
insert into tst( id ) values( null );
select * from tst;
1|1225703251
2|1225703259
insert into tst values( null, 'my birthday' );
select * from tst;
1|1225703251
2|1225703259
3|my birthday
Rgds,
Simon
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users