请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

字段默认值不生效

新增电子书报错Cause: java.sql.SQLIntegrityConstraintViolationException: Column ‘doc_count’ cannot be null
; Column ‘doc_count’ cannot be null; nested exception is java.sql.SQLIntegrityConstraintViolationException: Column ‘doc_count’ cannot be null] with root cause

doc-count,view_count,vote_count的默认值都不生效
创建数据表sql

create table `ebook` (
  `id` bigint not null comment 'id',
  `name` varchar(50) comment '名称',
  `category1_id` bigint comment '分类1',
  `category2_id` bigint comment '分类2',
  `description` varchar(200) comment '描述',
  `cover` varchar(200) comment '封面',
  `doc_count` int not null default 0 comment '文档数',
  `view_count` int not null default 0 comment '阅读数',
  `vote_count` int not null default 0 comment '点赞数',
  primary key (`id`)
) engine=innodb default charset=utf8mb4 comment='电子书';

正在回答

3回答

甲蛙 2021-04-12 11:04:32

课程后面我们讲到这个问题

因为mbyatis生成的代码是全字段的,所以insert 或 update都是带全字段的

如果insert SQL里写了字段,且给的值是null,这种情况就会存null,default 就失效了

解决方法就是在java代码里设置下值 0,而不用default 0

1 回复 有任何疑惑可以回复我~
  • 提问者 華晧 #1
    好的,谢谢老师
    回复 有任何疑惑可以回复我~ 2021-04-12 11:09:21
劝退专业户 2021-04-21 16:51:32

好家伙我直接把在数据库"不是null"给取消了XDhhhh

0 回复 有任何疑惑可以回复我~
提问者 華晧 2021-04-11 21:10:12

在MySQL里默认值可以生效,在项目里就不生效

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号