创建表默认时间以及修改

在创建表的时候是不支持函数的,而且datetime本身是不支持默认是now()的,必须使用timestamp这个类型,如下:
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就是插入时默认当前时间,更新时更新为当前时间。另外有一个问题就是Mysql目前一个表只支持一个字段有默认当前时间,所以说你的datecreated和datepublish需要在插入函数中处理,例如
insert blogentries(blog_id,title,datecreated) values(1, 'help me', now());
同理,发表时间也可以用同样的方式插入。
posted on 2016-05-30 21:08  im5437  阅读(234)  评论(0)    收藏  举报