+ -
当前位置:首页 → 问答吧 → update语句能否写入默认值?

update语句能否写入默认值?

时间:2011-12-11

来源:互联网

我现在用update语句更新金额那个字段的值,但是这个语句在没有符合条件的情况下会把null值写入字段中,本来金额那个字段中是0,现在被update语句执行之后就由0变成了null,怎样防止这种情况?只能用程序判断吗? sql上能不能做不插入处理?或者插入0,而不是null.这样可以做到吗?

作者: gzronald70   发布时间: 2011-12-11

更新条件不符合的话,就不会更新吧,怎么会更新成null呢

作者: mizuho_2006   发布时间: 2011-12-11

修改金额字段not null 默认值为0

作者: ssp2009   发布时间: 2011-12-11

你的意思是吧金额那个字段的默认值设置为0吗?我就是这样设置的,所以默认情况下就是0,正常的,但是反而执行了那个update语句之后才变为null的

引用 2 楼 ssp2009 的回复:

修改金额字段not null 默认值为0

作者: gzronald70   发布时间: 2011-12-11

字段改为不允许为空

作者: ssp2009   发布时间: 2011-12-11

该订单下暂时还没有数据,订单是存在的.可以在程序中判断这种情况下就不执行,但是这样的话要多些几句话,如果sql能实现的话可能更简单,我也不是偷懒不想写那几句判断,只是想研究一下

引用 1 楼 mizuho_2006 的回复:

更新条件不符合的话,就不会更新吧,怎么会更新成null呢

作者: gzronald70   发布时间: 2011-12-11

SQL code
可以默认值为0
alter table tb add constraint default 0 for 金额字段

作者: fredrickhu   发布时间: 2011-12-11

这样不行的,会导致执行update语句出错,看来我想太多了,还是老老实实用程序判断吧,谢谢啊

引用 4 楼 ssp2009 的回复:

字段改为不允许为空

作者: gzronald70   发布时间: 2011-12-11

这样不行的,我原来就是设置了默认的字段值为0的,但是一旦执行了那个update之后就会被null替代掉,我就是不想出现null

引用 6 楼 fredrickhu 的回复:

SQL code
可以默认值为0
alter table tb add constraint default 0 for 金额字段

作者: gzronald70   发布时间: 2011-12-11

不会吧 看看你的UPDATE语句?

作者: fredrickhu   发布时间: 2011-12-11

热门下载

更多