重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在创建表的时候是不支持函数的,而且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());
同理,发表时间也可以用同样的方式插入。
希望能够帮助你。
mysql的字段默认值不可以是函数。除 TIMESTAMP字段可以用CURRENT_TIMESTAMP外。其它都使用常数为默认值。
释义:
MySQL 是一个关系型数据库,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
简介:
MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
软件介绍:
MySQL最初的开发者的意图是用mSQL和他们自己的快速低级例程(ISAM)去连接表格。经过一些测试后,开发者得出结论:mySQL并没有他们需要的那么快和灵活。这导致了一个使用几乎和mSQL一样的API接口的用于他们的数据库的新的SQL接口的产生,这样,这个API被设计成允许为用于mSQL而写的第三方代码更容易移植到MySQL。
我们都知道在sqlserver中可以很容易指定日期类型字段的默认值为当前服务器操作系统的日期,getdate()或now()就行了,但是如果在mysql中怎么办??很多朋友发现没办法了。
下面我们可以通过timestamp类型字段解决,TIMESTAMP列类型详解(怎样设列的默认值为Now())
MySQL目前不支持列的Default 为函数的形式,
如达到你某列的默认值为当前更新日期与时间的功能,
你可以使用TIMESTAMP列类型
下面就详细说明TIMESTAMP列类型
TIMESTAMP列类型
TIMESTAMP值可以从1970的某时的开始一直到2037年,精度为一秒,其值作为数字显示。
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列也可以用更短的显示尺寸创造
最常见的显示尺寸是6、8、12、和14。
你可以在创建表时指定一个任意的显示尺寸,但是定义列长为0或比14大均会被强制定义为列长14。
列长在从1~13范围的奇数值尺寸均被强制为下一个更大的偶数。
列如:
定义字段长度 强制字段长度
TIMESTAMP(0) - TIMESTAMP(14)
TIMESTAMP(15)- TIMESTAMP(14)
TIMESTAMP(1) - TIMESTAMP(2)
TIMESTAMP(5) - TIMESTAMP(6)
所有的TIMESTAMP列都有同样的存储大小,
使用被指定的时期时间值的完整精度(14位)存储合法的值不考虑显示尺寸。
不合法的日期,将会被强制为0存储