数据库默认值不起作用

来源:互联网  时间:2016/7/19 13:43:31

关于网友提出的“ 数据库默认值不起作用”问题疑问,本网通过在网上对“ 数据库默认值不起作用”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 数据库默认值不起作用
描述:

本帖最后由 zongzhankui 于 2015-07-03 12:26:33 编辑

创建表时已对字段设置默认值:
`printFlag` smallint(1) DEFAULT '0' ,

对应的实体类中也声明了该字段:

private Integer printFlag;
@Column(name="printFlag",columnDefinition="INT default 0",unique=false,nullable=false)
public Integer getPrintFlag() {
return printFlag;
}
public void setPrintFlag(Integer printFlag) {
this.printFlag = printFlag;
}

在添加时没有对printFlag字段set值,数据库中该字段的值不是应该默认为0吗,可是为什么不是0而是NULL?
解决方案1:

引用 4 楼 zongzhankui 的回复:
Quote: 引用 3 楼 tangyanbo1110 的回复:

正确的应该是 not null defualt 0;且是在数据库中定义
如果还是null,那说明问题出现在其他地方,比如库不对等问题

不行啊。如果
private Integer printFlag = 0;
就可以了,必须这样吗?

数据库表定义not null defualt 0是可以的啊,没有值会报错的啊 解决方案2:

0和‘0’是不同的试下NOT NULL DEFAULT '0'

上一篇Struts2出现error setting expression with value,求解决
下一篇IDEA JUNIT 经常提示 找不到 properties文件里面的配置
明星图片
相关文章
《 数据库默认值不起作用》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)