两表中有几个字段属性不理解

两表中有几个字段属性不理解

DROP TABLE IF EXISTS `canvas`;

CREATE TABLE `canvas` (

  `id` bigint(20) NOT NULL AUTO_INCREMENT,

  `categoryId` bigint(20) NOT NULL,

  `name` varchar(45) NOT NULL,

  `creator` varchar(50) DEFAULT NULL,

  `price` int(9) DEFAULT NULL,

  `smallImg` varchar(255) DEFAULT NULL,

  `createTime` timestamp NULL DEFAULT NULL,

  `updateTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

  `description` varchar(255) DEFAULT NULL,

  `details` varchar(20000) DEFAULT NULL,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8;


-- ----------------------------

-- Table structure for category

-- ----------------------------

DROP TABLE IF EXISTS `category`;

CREATE TABLE `category` (

  `id` bigint(11) NOT NULL AUTO_INCREMENT,

  `name` varchar(100) NOT NULL,

  `createName` varchar(45) NOT NULL,

  `createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,

  `updateTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

  `description` varchar(220) DEFAULT NULL,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8;

表中createTime和updateTime属性不理解,请老师解释一下,谢谢!

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕阿满 2019-12-20 17:58:28

同学你好,这个是更新时间的设置,DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP  表示默认是当前时间,如果更新数据了,那么更新时间默认修改为更新时的当前时间。

祝:学习愉快~

  • 提问者 慕沐8221787 #1
    是不是说,这样设置后,更新时,”更新时间”字段就不需要人为给它提供任何数据,它自己能更新呢?
    2019-12-20 18:02:41
  • 好帮手慕阿满 回复 提问者 慕沐8221787 #2
    是的,同学理解的不错。祝:学习愉快~
    2019-12-20 19:04:18
好帮手慕阿满 2019-12-17 19:10:48

同学你好,  `createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP:createTime是创建时间,字段类型是时间戳timestamp,非空,默认值是当前时间戳。

`updateTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP:updateTime是修改时间,字段类型是时间戳timestamp,默认是当前时间戳,当修改时,updateTime字段变成修改时的时间戳。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 慕沐8221787 #1
    这个设置( `updateTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP),后面的”DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP”有什么作用呢?
    2019-12-20 16:56:40
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Java数据库开发与实战应用2018版
  • 参与学习           人
  • 提交作业       277    份
  • 解答问题       4297    个

Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师