首页 新闻 会员 周边

mysql int类型 不为空

0
[已解决问题] 解决于 2017-09-26 15:18

添加数据的时候没有给值,不是报错,而是默认给了我0,这个是这么回事,如何解决。

问题补充:

这个是表结构

za_szybko的主页 za_szybko | 初学一级 | 园豆:166
提问于:2017-08-03 14:17
< >
分享
最佳答案
1

看下你的表设计

奖励园豆:5
金琥 | 老鸟四级 |园豆:2605 | 2017-08-03 14:56

字段 如果是not null的话,那就必须插入一个值,不插入值的话,就会调用默认值,而int类型的默认值为0。所以你的值会自动为0

金琥 | 园豆:2605 (老鸟四级) | 2017-08-04 09:08
其他回答(3)
0

有什么问题吗?

吴瑞祥 | 园豆:29449 (高人七级) | 2017-08-03 14:19

想要改成,为空时给个报错,而不是就默认给我填了个0

支持(0) 反对(0) za_szybko | 园豆:166 (初学一级) | 2017-08-03 14:21

@za_szybko: 你看下你的插入语句.然后看下表结构里给这个字段加了默认值没.

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2017-08-03 14:22
1

我能想到有两种可能,  

1. 数据库该列设置了默认值。 设计表,default那列不要填值,或填null

2. 你插入数据的时候,用的对象属性是int, 不是Integer,然后没有赋值,默认为0

苍枫露雨 | 园豆:1027 (小虾三级) | 2017-08-03 15:00
0

你字段定义不能为NULL ,然后default NULL 你让数据库很为难啊,兄弟

寞小陌 | 园豆:104 (初学一级) | 2017-08-04 10:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册