php中更新mysql数据库字段为空值_php如何向mysql字段中写入NULL的值?

你的位置:

问答吧

-> PHP

-> 问题详情

php如何向mysql字段中写入NULL的值?

修改房屋信息时,有一个字段是楼层总数floorall,是int字段,允许空

当修改信息时,如果输入了这个字段的值,则向数据库中写入值,如果没有输入值,则向数据库中写入NULL

怎么实现?

我是这样写的

if($floorall==''){$floorall=NULL;}

$db->query("updata tabel set floorall ='$floorall'");

可是这样写入的值是0而不是NULL

作者: tgw2000

发布时间: 2009-11-19

updata tabel set floorall = null

[ 本帖最后由 Enoch 于 2009-11-19 18:01 编辑 ]

作者: Enoch

发布时间: 2009-11-19

to:Enoch

你这样写,当floorall有值时,怎么办,这样有值时,也写入空了

作者: tgw2000

发布时间: 2009-11-19

int字段 能写入NULL值? 表设计有问题

作者: wuleying

发布时间: 2009-11-19

tgw2000 :

if($floorall==''){$floorall= 'NULL';}

$db->query("updata tabel set floorall = $floorall ");

银子:

我也觉的怪 也许是为了兼容老程序

作者: Enoch

发布时间: 2009-11-20

尽量让数据库自己完成,比如允许空这事,不考虑int啥的类型,那你设计的时候就用default

然后程序中,为空的时候就不需要update了

另外记一下table这个单词。

作者: ywodin

发布时间: 2009-11-20

to:ywodin

比如这个楼层是int型的,非必填字段,设计表的时候,是允许空

用户加信息时,floorall填写的是数字2,发布后数据库中floorall的值为2

当修改信息时,用户想把floorall清空了,这时再提交,用你的方法,为空时,不进行update

floorall字段了,那数据库中floorall的值不还是2吗,并没有修改啊

如果为空时,进行update  floorall字段,则提交后,数据库中floorall值为0

信息读出来后,会显示楼层总数:0层

除非显示信息时,做判断,if($floorall==0){$floorall='';}

可是0在我的程序中还有其它的意义,不想用这种方法

[ 本帖最后由 tgw2000 于 2009-11-20 13:51 编辑 ]

作者: tgw2000

发布时间: 2009-11-20

允许为空,那没有值插入的时候就是NULL了,没必要去特意写NULL。

要清空的时候就使用set 字段=NULL就行了。

作者: 帅青蛙

发布时间: 2009-11-20

  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页
评论

打赏作者

weixin_39639505

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值