首先,mysql中是没有select current_time这么一说的(select是用来查询有结果返回的表达式),select要么调用函数如select current_time(),或者说从数据表查询数据 select current_time from table。
创新互联成立以来不断整合自身及行业资源、不断突破观念以使企业策略得到完善和成熟,建立了一套“以技术为基点,以客户需求中心、市场为导向”的快速反应体系。对公司的主营项目,如中高端企业网站企划 / 设计、行业 / 企业门户设计推广、行业门户平台运营、成都App定制开发、成都做手机网站、微信网站制作、软件开发、四川联通机房服务器托管等实行标准化操作,让客户可以直观的预知到从创新互联可以获得的服务效果。
其次,要注意mysql中对应的时间日期格式类型,也就是UPDATE_DATE的字段类型,具体如下:
① 时间日期类型datetime/mysql时间戳timestamp(Ymdhis:20181212121212,对应显示2018-12-12 12:12:12),那么结果应该是:UPDATE T_SYUTYOU SET UPDATE_DATE = now(); ,因为now()保存的结果是一个datetime类型
② 时间型time(his:121212,对应显示12:12:12),那么结果应该是:UPDATE T_SYUTYOU SET UPDATE_DATE = curtime()/current_time(); ,因为curtime()和current_time()一样保存的结果是一个time类型
③ 真正时间戳int unsigned(格林位置时间到目前位置的秒数:1545891091),那么结果应该是:UPDATE T_SYUTYOU SET UPDATE_DATE = unix_timestamp();,因为unix_timestamp()保存的结果是一个真正意义的时间戳
想要了解更多的一些关于MySQL的操作,可以去看看黑马程序员的6天玩转MySQL
NOW()函数以`'YYYY-MM-DD HH:MM:SS'返回当前的日期时间,可以直接存到DATETIME字段中。 CURDATE()以’YYYY-MM-DD’的格式返回今天的日期,可以直接存到DATE字段中。 CURTIME()以’HH:MM:SS’的格式返回当前的时间,可以直接存到TIME字段中。
可以了解一下MySQL的时间戳(Timestamp)数据类型:
默认时间戳(Timestamp)类型的取值范围为'1970-01-01 00:00:01' UTC至'2038-01-19 03:14:07' UTC,数据精确到秒级别,该取值范围包含约22亿个数值,因此在MySQL内部使用4个字节INT类型来存放时间戳数据:
1、在存储时间戳数据时,先将本地时区时间转换为UTC时区时间,再将UTC时区时间转换为INT格式的毫秒值(使用UNIX_TIMESTAMP函数),然后存放到数据库中。
2、在读取时间戳数据时,先将INT格式的毫秒值转换为UTC时区时间(使用FROM_UNIXTIME函数),然后再转换为本地时区时间,最后返回给客户端。
(Timestamp)时间戳列可以有四张组合定义,其含义分别为:
1、当字段定义为timestamp,表示该字段在插入和更新时都不会自动设置为当前时间。
2、当字段定义为timestamp DEFAULT CURRENT_TIMESTAMP,表示该字段仅在插入且未指定值时被赋予当前时间,再更新时且未指定值时不做修改。
3、当字段定义为timestamp ON UPDATE CURRENT_TIMESTAMP,表示该字段在插入且未指定值时被赋值为"0000-00-00 00:00:00",在更新且未指定值时更新为当前时间。
4、当字段定义为timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,表示该字段在插入或更新时未指定值,则被赋值为当前时间。