--方法一:由于MySQL目前字段的默认值不支持函数,所以以create_timedatetimedefaultnow()的形式设置默认值是不可能的。代替的方案是使用TIMESTAMP类型代替DATETIME类型。TIMESTAMP列类型自动地用当前的日期和时间标记INSERT或UPDATE的操作。如果有多个TIMESTAMP列,只有第一个自动更新。自动更新第一个TIMESTAMP列在下列任何条件下发生:1.列值没有明确地在一个INSERT或LOADDATAINFILE语句中指定。2.列值没有明确地在一个UPDATE语句中指定且另外一些的列改变值。(注意一个UPDATE设置一个列为它已经有的值,这将不引起TIMESTAMP列被更新,因为如果你设置一个列为它当前的值,MySQL为了效率而忽略更改。)3.你明确地设定TIMESTAMP列为NULL.4.除第一个以外的TIMESTAMP列也可以设置到当前的日期和时间,只要将列设为NULL,或NOW()。所以把日期类型选择成timestamp允许空就可以了CREATETABLEtest(unamevarchar(50)NOTNULL,updatetimetimestampNULLDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMP)ENGINE=InnoDBDEFAULTCHARSET=utf8;如果要在navicat下操作的话,将字段设置为timestamp,然后默认值写上CURRENT_TIMESTAMP即可
创新互联-专业网站定制、快速模板网站建设、高性价比汉阳网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式汉阳网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖汉阳地区。费用合理售后完善,十余年实体公司更值得信赖。
设置某字段为当前时间,修改日期类型为timestamp并允许空,如下:
create
table
`test`
(`aaaa`
varchar(50)
not
null,`createday`
timestamp
null
default
current_timestamp
on
update
current_timestamp)
engine=innodb
default
charset=utf8;
如果是在navicat下操作的话,设置字段的类型为timestamp,默认值写上
current_timestamp.
怎样修改mysql中的时间和日期?
建议你安装PHPMYADMIN或者MYSQL-FRONT这类软件,用它们来修改就比较简单。
另外一个办法,在留言前修改服务器的系统时间,这样保存的留言就是以前的。
通过mysql命令行模式下动态修改
show variables like "%time_zone%";
查看时区
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | CST |
| time_zone | SYSTEM |
+------------------+--------+
2 rows in set (0.00 sec)
#time_zone说明mysql使用system的时区,system_time_zone说明system使用CST时区
修改时区
set global time_zone = '+8:00'; ##修改mysql全局时区为北京时间,即我们所在的东8区
set time_zone = '+8:00'; ##修改当前会话时区
flush privileges; #立即生效