Sqlite實現預設時間為當前時間列的方法

2021-06-16 09:22:27 字數 1354 閱讀 2003

在sql server中,建立**的時候,對於時間列有時候我們可以根據需要指定預設值為當前時間(也就是說記錄生成的時候有預設的時間戳)。例如:

view plaincopy to clipboardprint?

create table log(  

content varchar(256),  

logtime datetime default getdate()  

) create table log(

content varchar(256),

logtime datetime default getdate()

然而在sqlite中如何實現呢?查文件得知sqlite中並沒有getdate()函式,但其系統內建函式有datetime(),因此能不能按照下面的寫法實現預設時間戳呢:

view plaincopy to clipboardprint?

create table log(  

content varchar(256),  

logtime datetime default datetime('now')  

) create table log(

content varchar(256),

logtime datetime default datetime('now')

答案是否定的,會提示語法錯誤。那麼應該如何宣告呢?如下所示:

view plaincopy to clipboardprint?

create table log(  

content varchar(256),  

logtime timestamp default current_timestamp  

) create table log(

content varchar(256),

logtime timestamp default current_timestamp

這個可以達到效果,但是預設的時間是以格林尼治標準時間為基準的,因此在中國使用的話會正好早8個小時。為了解決這個問題,我們可以這樣宣告:

view plaincopy to clipboardprint?

create table log(  

content varchar(256),  

logtime timestamp default (datetime('now', 'localtime'))  

) create table log(

content varchar(256),

logtime timestamp default (datetime('now', 'localtime'))

)測試一下,一切正常:)

mysql 預設時間

mysql 的日期型別如何設定當前時間為其預設值?答 請使用 timestamp 型別,且 預設值設為 now 或 current timestamp 還有可能啟用嚴格模式mysql 5.7 版本開始有了乙個 strict mode 嚴格模式 此模式中對預設值做了一些限制。限制00 00 00時間按...

選中和預設時間

在敲機房的時候,我們有時候需要選中一行資料進行操作,我參考了好幾個部落格,最終使用一下 實現了對 中資料的選中功能 中,mouserow 代表滑鼠所在的行,rowsel代表選中資料的終止行,colsel代表選中資料的終止列,cols 1就是最後一列的意思,起始列就是col 0,加一起就是選中滑鼠所在...

修改PHP session 預設時間方法

php中的session有效期預設是1440秒 24分鐘 如果我們要讓session記不過期怎麼辦呢,下在我們先來介紹在不修改程式是最好的方法了,因為如果修改程式,測試部一定非常鬱悶像我一樣,那麼只能修改系統環境配置,其實很簡單,開啟php.ini設定檔案,修改三行如下 1 session.use ...