关于网友提出的“ 数据库默认值不起作用”问题疑问,本网通过在网上对“ 数据库默认值不起作用”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 数据库默认值不起作用描述:
本帖最后由 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:
数据库表定义not null defualt 0是可以的啊,没有值会报错的啊 解决方案2:
0和‘0’是不同的试下NOT NULL DEFAULT '0'