在創(chuàng)建表的時候是不支持函數(shù)的,而且datetime本身是不支持默認(rèn)是now()的,必須使用timestamp這個類型,如下:
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:國際域名空間、雅安服務(wù)器托管、營銷軟件、網(wǎng)站建設(shè)、濱江網(wǎng)站維護(hù)、網(wǎng)站推廣。
CREATE
TABLE
blogentries
(
blog_id
INT
(100)
PRIMARY
KEY,
author_id
INT
REFERENCES
author
(author_id),
title
TEXT
NOT
NULL,
description
TEXT,
TYPE
NVARCHAR(10)
NOT
NULL,
allowcomment
CHAR(1)
NOT
NULL,
markprivate
CHAR(1)
NOT
NULL,
body
TEXT
NOT
NULL,
datecreated
TIMESTAMP
,
datepublish
TIMESTAMP
,
datemodified
TIMESTAMP
defAULT
CURRENT_TIMESTAMP
ON
UPDATE
CURRENT_TIMESTAMP
)
defAULT
CURRENT_TIMESTAMP
ON
UPDATE
CURRENT_TIMESTAMP就是插入時默認(rèn)當(dāng)前時間,更新時更新為當(dāng)前時間。另外有一個問題就是Mysql目前一個表只支持一個字段有默認(rèn)當(dāng)前時間,所以說你的datecreated和datepublish需要在插入函數(shù)中處理,例如
insert
blogentries(blog_id,title,datecreated)
values(1,
'help
me',
now());
同理,發(fā)表時間也可以用同樣的方式插入。
希望能夠幫助你。
mysql的字段默認(rèn)值不可以是函數(shù)。除 TIMESTAMP字段可以用CURRENT_TIMESTAMP外。其它都使用常數(shù)為默認(rèn)值。
釋義:
MySQL 是一個關(guān)系型數(shù)據(jù)庫,由瑞典?MySQL AB 公司開發(fā),目前屬于?Oracle?旗下公司。MySQL 最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在 WEB 應(yīng)用方面 MySQL 是最好的 RDBMS (Relational Database Management System,關(guān)系數(shù)據(jù)庫管理系統(tǒng)) 應(yīng)用軟件之一。
簡介:
MySQL是一個開放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。
軟件介紹:
MySQL最初的開發(fā)者的意圖是用mSQL和他們自己的快速低級例程(ISAM)去連接表格。經(jīng)過一些測試后,開發(fā)者得出結(jié)論:mySQL并沒有他們需要的那么快和靈活。這導(dǎo)致了一個使用幾乎和mSQL一樣的API接口的用于他們的數(shù)據(jù)庫的新的SQL接口的產(chǎn)生,這樣,這個API被設(shè)計成允許為用于mSQL而寫的第三方代碼更容易移植到MySQL。
我們都知道在sqlserver中可以很容易指定日期類型字段的默認(rèn)值為當(dāng)前服務(wù)器操作系統(tǒng)的日期,getdate()或now()就行了,但是如果在mysql中怎么辦??很多朋友發(fā)現(xiàn)沒辦法了。
下面我們可以通過timestamp類型字段解決,TIMESTAMP列類型詳解(怎樣設(shè)列的默認(rèn)值為Now())
MySQL目前不支持列的Default 為函數(shù)的形式,
如達(dá)到你某列的默認(rèn)值為當(dāng)前更新日期與時間的功能,
你可以使用TIMESTAMP列類型
下面就詳細(xì)說明TIMESTAMP列類型
TIMESTAMP列類型
TIMESTAMP值可以從1970的某時的開始一直到2037年,精度為一秒,其值作為數(shù)字顯示。
TIMESTAMP值顯示尺寸的格式如下表所示:
:
+---------------+----------------+
| 列類型 | 顯示格式 |
| TIMESTAMP(14) | YYYYMMDDHHMMSS |
| TIMESTAMP(12) | YYMMDDHHMMSS |
| TIMESTAMP(10) | YYMMDDHHMM |
| TIMESTAMP(8) | YYYYMMDD |
| TIMESTAMP(6) | YYMMDD |
| TIMESTAMP(4) | YYMM |
| TIMESTAMP(2) | YY |
+---------------+----------------+
“完整”TIMESTAMP格式是14位,但TIMESTAMP列也可以用更短的顯示尺寸創(chuàng)造
最常見的顯示尺寸是6、8、12、和14。
你可以在創(chuàng)建表時指定一個任意的顯示尺寸,但是定義列長為0或比14大均會被強(qiáng)制定義為列長14。
列長在從1~13范圍的奇數(shù)值尺寸均被強(qiáng)制為下一個更大的偶數(shù)。
列如:
定義字段長度 強(qiáng)制字段長度
TIMESTAMP(0) - TIMESTAMP(14)
TIMESTAMP(15)- TIMESTAMP(14)
TIMESTAMP(1) - TIMESTAMP(2)
TIMESTAMP(5) - TIMESTAMP(6)
所有的TIMESTAMP列都有同樣的存儲大小,
使用被指定的時期時間值的完整精度(14位)存儲合法的值不考慮顯示尺寸。
不合法的日期,將會被強(qiáng)制為0存儲