博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Sqlite实现默认时间为当前时间列的方法
阅读量:4107 次
发布时间:2019-05-25

本文共 649 字,大约阅读时间需要 2 分钟。

转自

在SQL Server中,创建表格的时候,对于时间列有时候我们可以根据需要指定默认值为当前时间(也就是说记录生成的时候有默认的时间戳)。例如:

   

[xhtml] 
  1. create table log(  
  2.   
  3.    content varchar(256),  
  4.   
  5.    logtime datetime default getdate()  
  6.   
  7.    )  
  

    然而在Sqlite中如何实现呢?查文档得知Sqlite中并没有getdate()函数,但其系统内置函数有datetime(),因此能不能按照下面的写法实现默认时间戳呢:

    

[xhtml] 
  1. create table log(  
  2.   
  3.     content varchar(256),  
  4.   
  5.     logtime datetime default datetime('now')  
  6.   
  7.     )  
  

    答案是否定的,会提示语法错误。那么应该如何声明呢?如下所示:

   

[c-sharp] 
  1. create table log(  
  2.   
  3.    content varchar(256),  
  4.   
  5.    logtime TIMESTAMP default CURRENT_TIMESTAMP  
  6.   
  7.    )  
    

    这个可以达到效果,但是默认的时间是以格林尼治标准时间为基准的,因此在中国使用的话会正好早8个小时。为了解决这个问题,我们可以这样声明:

   

[xhtml] 
  1. create table log(  
  2.   
  3.     content varchar(256),  
  4.   
  5.     logtime TIMESTAMP default (datetime('now', 'localtime'))  
  6.   
  7.     )  

 

    测试一下,一切正常:)

转载地址:http://skvsi.baihongyu.com/

你可能感兴趣的文章
MFC矩阵运算
查看>>
最小二乘法拟合:原理,python源码,C++源码
查看>>
ubuntu 安装mysql
查看>>
c# 计算器
查看>>
C# 简单的矩阵运算
查看>>
gcc 常用选项详解
查看>>
c++输入文件流ifstream用法详解
查看>>
c++输出文件流ofstream用法详解
查看>>
字符编码:ASCII,Unicode 和 UTF-8
查看>>
firewalld的基本使用
查看>>
Linux下SVN客户端使用教程
查看>>
i2c-tools
查看>>
Linux分区方案
查看>>
nc 命令详解
查看>>
如何使用 systemd 中的定时器
查看>>
git命令速查表
查看>>
linux进程监控和自动重启的简单实现
查看>>
OpenFeign学习(三):OpenFeign配置生成代理对象
查看>>
OpenFeign学习(四):OpenFeign的方法同步请求执行
查看>>
OpenFeign学习(五):OpenFeign请求结果处理及重试控制
查看>>