易截截图软件、单文件、免安装、纯绿色、仅160KB

Sqlite实现默认时间为当前时间列的方法

    在SQL Server中,创建表格的时候,对于时间列有时候我们可以根据需要指定默认值为当前时间(也就是说记录生成的时候有默认的时间戳)。例如:
    create table log(
content varchar(256),
logtime datetime default getdate()
)
  
    然而在Sqlite中如何实现呢?查文档得知Sqlite中并没有getdate()函数,但其系统内置函数有datetime(),因此能不能按照下面的写法实现默认时间戳呢:
    create table log(
content varchar(256),
logtime datetime default datetime('now')
)
  
    答案是否定的,会提示语法错误。那么应该如何声明呢?如下所示:
    create table log(
content varchar(256),
logtime TIMESTAMP default CURRENT_TIMESTAMP
)
    
    这个可以达到效果,但是默认的时间是以格林尼治标准时间为基准的,因此在中国使用的话会正好早8个小时。为了解决这个问题,我们可以这样声明:
    create table log(
content varchar(256),
logtime TIMESTAMP default (datetime('now', 'localtime'))
)

    测试一下,一切正常:)


相关文档:

sqlite可视化IDE工具

 1. SQLite Database Browser 是一个SQLite数据库管理工具。是开源的、免费的。
Home Page
http://sqlitebrowser.sourceforge.net/
 
Download
http://sourceforge.net/project/showfiles.php?group_id=87946
 
Wiki
http://en.wikipedia.org/wiki/SQLite_Database_Browser
 
  2.  ......

sqlite常见问题

 (1) 如何建立自动增长字段?
简短回答:声明为 INTEGER PRIMARY KEY 的列将会自动增长。
长一点的答案: 如果你声明表的一列为 INTEGER PRIMARY KEY,那么, 每当你在该列上插入一NULL值时, NULL自动被转换为一个比该列中最大值大1的一个整数,如果表是空的, 将会是1。 (如果是最大可能的主键 9223372036854775807 ......

sqlite想到一些事2

sqlite是不错的内存数据库,内存数据库是处理大量并发数据的优先选择。但有些大量数据的并发并不是数据处理本身的问题,例如逻辑上必须有先后次序的数据是并发速度不能解决的问题。抛开这些问题一个简单大容量的解决方案是用一个内存数据库做前端一个硬盘数据库做后端,内存数据库定期把数据同步到后端的硬盘数据库。这个方 ......

SQLite Tutorial in PHP

 
SQLite Tutorial in PHP
SQLite is an SQL database manager used locally or on a website, and compatible
in particularly with PHP.
Summary
Installing SQLite and creating a database
.
Installing SQLite. Verifying the installation by creating a base.
Creating and using a SQLite tabl ......

SQLite中的时间日期函数

SQLite包含了如下时间/日期函数:
datetime().......................产生日期和时间
date()...........................产生日期
time()...........................产生时间
strftime().......................对以上三个函数产生的日期和时间进行格式化
datetime()的用法是:datetime(日期/时间,修正符,修正符...) ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号