sqlite3 表里插入系统时间(时间戳)
sqlite integer insert 数据库 table null
就像在提交日志的时候系统会把提交的时间记录下来一样,如果想在sqlite3下创建的表里插入数据的时候也把插入数据的时间点存储在sqlite数据库里怎么处理呢?
创建一个数据库,如foo.db
在这个表里创建一个表:
CREATE TABLE time([ID] INTEGER PRIMARY KEY,[IDCardNo] VARCHAR (50),[CreatedTime] TimeStamp NOT NULL DEFAULT CURRENT_TIMESTAMP);
插入数据:
INSERT INTO time([IDCardNo]) VALUES('aaa');
查看:
select * from time;
结果是
1|aaa|2011-10-6 06:48:51
这时会发现这个时间并不是系统的时间,而世界时间,怎么处理呢?
CREATE TABLE time([ID] INTEGER PRIMARY KEY,[IDCardNo] VARCHAR (50),[CreatedTime] TimeStamp NOT NULL DEFAULT (datetime('now','localtime')));
再次插入数据
INSERT INTO time([IDCardNo]) VALUES('aaa');
查看:
1|aaa|2011-10-6 13:05:51
这样就和系统的本地时间对应了。
==========================
按照上述博文的做法,我插入的系统时间一项中是不对的。当我到处找资料的时候,发现大家都是用的这种做法,那么问题出在哪里呢?
后面我在插入数据的时候,改了一下,INSERT INTO time([IDCardNo],TimeStamp ) VALUES('aaa',datetime('now','localtime'));
结果时间才跟电脑上显示的系统本地时间是对应的了。
原因:
原因出在,我在插入每个数据,应该在时间那项里面跟上datetime('now', 'localtime');
这样才会对,现在时间是一样的了,之前我在时间这项上面没有插入数据,因为我觉得在创建表的时候用NOT NULL DEFAULT datetime('now', 'localtime'),以为我不插入时间项,在每项的时候会自动插入,结果自动插入是实现了,不过时间不对,与电脑上显示的时间老是相差那么几个小时。
我的个去,这种问题,蛋碎啊
就像在提交日志的时候系统会把提交的时间记录下来一样,如果想在sqlite3下创建的表里插入数据的时候也把插入数据的时间点存储在sqlite数据库里怎么处理呢?
创建一个数据库,如foo.db
在这个表里创建一个表:
CREATE TABLE time([ID] INTEGER PRIMARY KEY,[IDCardNo] VARCHAR (50),[CreatedTime] TimeStamp NOT NULL DEFAULT CURRENT_TIMESTAMP);
插入数据:
INSERT INTO time([IDCardNo]) VALUES('aaa');
查看:
select * from time;
结果是
1|aaa|2011-10-6 06:48:51
这时会发现这个时间并不是系统的时间,而世界时间,怎么处理呢?
CREATE TABLE time([ID] INTEGER PRIMARY KEY,[IDCardNo] VARCHAR (50),[CreatedTime] TimeStamp NOT NULL DEFAULT (datetime('now','localtime')));
再次插入数据
INSERT INTO time([IDCardNo]) VALUES('aaa');
查看:
1|aaa|2011-10-6 13:05:51
这样就和系统的本地时间对应了。
==========================
按照上述博文的做法,我插入的系统时间一项中是不对的。当我到处找资料的时候,发现大家都是用的这种做法,那么问题出在哪里呢?
后面我在插入数据的时候,改了一下,INSERT INTO time([IDCardNo],TimeStamp ) VALUES('aaa',datetime('now','localtime'));
结果时间才跟电脑上显示的系统本地时间是对应的了。
原因:
原因出在,我在插入每个数据,应该在时间那项里面跟上datetime('now', 'localtime');
这样才会对,现在时间是一样的了,之前我在时间这项上面没有插入数据,因为我觉得在创建表的时候用NOT NULL DEFAULT datetime('now', 'localtime'),以为我不插入时间项,在每项的时候会自动插入,结果自动插入是实现了,不过时间不对,与电脑上显示的时间老是相差那么几个小时。
我的个去,这种问题,蛋碎啊