应该用timestamp,建表SQL改动如下:
CREATE TABLE share (id INT(11) PRIMARY KEY AUTO_INCREMENT,
`name` VARCHAR(100),
addrip VARCHAR(50),
savetime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
other VARCHAR(50)
);
SQL中关键字尽量大写,如果你用SQLyog它会自动把关键字转换为大写;
name是保留字,虽然没有影响,但是不能保证以后没有影响,如果使用关键字、保留字做字段,最好加上``符号包裹,以免出错。所有自己命名的地方,都可以使用``符号包裹;
另外,每个字段最好使用 COMMENT '内容',给每个字段加上注释,这样以后看到的时候不会想不起来字段的含义。
mysql的字段默认值不可以是函数。除
timestamp字段可以用current_timestamp外。其它都使用常数为默认值。
下面的例子是:在名字为database的表中插入一个名为addtime的字节,并且默认值为当前时间。
alter
table
`database`add
addtime
timestamp
not
null
default
current_timestamp()
;
database是表名,
addtime是字段名,
timestamp是类型,
not
null表明不能为空,
default
current_timestamp()默认时间为当前时间。
假设表名为aaa,字段名为dt,语句为:
ALTER
TABLE
aaa
ADD
CONSTRAINT
DF_aaa_dt
DEFAULT
getdate()
FOR
dt
这样aaa的dt字段默认值就是当前系统日期了
getdate()函数:取得系统当前的日期和时间。返回值为datetime类型的。
用法:getdate()
例子:
select
getdate()
as
dte,dateadd(day,-1,getdate())
as
nowdat
输出结果:
dte
nowdat
---------------------------
---------------------------
1999-11-21
19:13:10083
1999-11-20
19:13:10083
(1
row(s)
affected)
以上就是关于数据库mysql中,想建立一个默认值是系统当前时间的字段,那么这个字段的类型必须是timestam全部的内容,包括:数据库mysql中,想建立一个默认值是系统当前时间的字段,那么这个字段的类型必须是timestam、mysql中为一个字段添加default值为当前时间,怎么写、如何用SQL语句将数据库中的表的某一时间型字段的默认值设置为当前日期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)