mysql 在数据库中设置时间

作者&投稿:亓古 (若有异议请与网页底部的电邮联系)
mysql 在数据库中设置时间~

在创建表的时候是不支持函数的,而且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数据库中的数据类型之日期类型,重点讲解了日期,时间,时间戳,日期时间等四种类型,同时也讲到了使用这四种类型的使用方法及注意点。

1、非要用datetime的话就不能用default而要通过trigger来实现
2、在插入时value用now()函数、或者自行取运行时间
3、字段类型改变为:
datecreated timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
datemodified timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
但是其实不可行,因为一个表只能有一个CURRENT_TIMESTAMP,但你有三个字段。

所以当有多个时间可能还是得结合方式2与方式3来综合处理。当然全都用方式2也就不会提出这种问题了。

在创建表的时候是不支持函数的,而且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());
同理,发表时间也可以用同样的方式插入。

在创建表的时候是不支持函数的,而且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());
同理,发表时间也可以用同样的方式插入。
希望能够帮助你。


独山子区13753077760: 怎么在mysql中设置时间格式 -
叔刻哈乐: 通过sql语句查询下 看看现在的值 show variables like '%date%'; 默认的值是:date_format= %Y-%m-%d datetime_format=%Y-%m-%d %H:%i:%s 然后在mysql的配置文件my.cnf 或者 my.ini中 加入 [mysqld] date_format= %Y/%m/%d datetime_format=%Y/%m/%d %H:%i:%s 最后mysql服务器重启即可.

独山子区13753077760: 如何在mysql数据表中显示当前时间 -
叔刻哈乐: 1.1 获得当前日期+时间(date + time)函数:now() 除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数: current_timestamp() current_timestamp localtime() localtime localtimestamp() localtimestamp 这些日期时间函数,都等同...

独山子区13753077760: mysql怎么设置超时时间 -
叔刻哈乐: mysql命令 查看mysql server超时时间:msyql> show global variables like '%timeout%';设置mysql server超时时间(以秒为单位):msyql> set global wait_timeout=10;msyql> set global interactive_timeout=10; my.cnf默认都是没有的,但其实...

独山子区13753077760: 对mysql数据库操作,如何添加现在的时间? -
叔刻哈乐: 不能加引号,加了就是字符串"now()"了.加两个月是 Insert Into table Values(INTERVAL 2 month)

独山子区13753077760: mysql 中如何填入当前时间? -
叔刻哈乐: 楼上说得对.如果是用PHP,可以用time()函数或date函数来达到你的目的.

独山子区13753077760: 在mysql中如何将时间的格式设置成yyyy - mm? -
叔刻哈乐: $nowdate=date("Y-n");//这些手册上都有,多看看手册,能给你省不少分你存的时候怎么存的,直接time()的话,这样格式化, $nowdate=date("Y-n",$array[dateandtime])

独山子区13753077760: 如何设置mysql中的时间类型 -
叔刻哈乐: Mysql中经常用来存储日期的数据类型有三种:Date、Datetime、Timestamp.Date数据类型:用来存储没有时间的日期.Mysql获取和显示这个类型的格式为“YYYY-MM-DD”.支持的时间范围为“1000-00-00”到“9999-12-31”.Datetime...

独山子区13753077760: mysql在图形管理器中如何设置TIME默认值取得当前时间 -
叔刻哈乐: MySQL中没有像Access中的now()函数或类似实现,也就是说不能在default中设置自动获取时间

独山子区13753077760: mysql 怎样修改默认超时时间 -
叔刻哈乐: 第一种途径使用命令行set@@GLOBAL.wait_timeout=1814400 这种方式是一种临时方法,重启服务就会返回默认值了. 第二种途径修改my.ini配置文件 [mysqld]wait_timeout=31536000 interactive_timeout=31536000 在mysqld下面添加以上两行,后面的数字是时间 首先服务中找到mysql,然后右键属性,在可执行文件的路径中,使劲向后拖动鼠标就可以看到my.ini的文件了

独山子区13753077760: 在mysql中存入一个时间值的sql语句怎么写?
叔刻哈乐: 通常,把数据库字段,设置为INT 时间用time()来保存进去,在显示的地方用date()来处理,这样子在以后的操作非常方便

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网