fanxin_942317684
codedvalue
采纳率80%
2018-08-09 06:31

为什么数据库中修改的时候会变成增加数据的

20
已采纳

在页面上进行修改的时候原来的数据没有改变而是在原字段后面多了一条字段,而且不做修改就会添加一个空字段,全部删除也会增加一条空字段

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

10条回答

  • qq_15002353 someday0898 3年前

    估计是序列化没对上,然后字段信息和原来的不一样,执行相关语句后,就没有删掉原来的,而是直接增加上去了

    点赞 评论 复制链接分享
  • weixin_38894125 ^^想想& 3年前

    多出来的这个字段不添加值或者修改值的时候刷新还会有多么

    点赞 评论 复制链接分享
  • w197500 壹只程序猿 3年前

    信息没匹配上在检查检查

    点赞 评论 复制链接分享
  • gxx13285640837 洞妖洞妖呼叫洞拐 3年前

    把截图放出来,并且把sql语句放出来,这样我们才好解决,不然我们很容易就没有讲到你说要表达的点子上

    点赞 评论 复制链接分享
  • ejiao1233 alunSemiconductor 3年前

    你是不是用的hibernate的save方法? 我记得好像是有这种规则,如果你有save的对象有主键,他就会更新,没有的话就会生成新的入库。

    点赞 评论 复制链接分享
  • zy841958835 cloudyzhao 3年前

    看下服务端对空的处理逻辑 这里很容易出问题

    点赞 评论 复制链接分享
  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 3年前

    你说的字段是什么,是多了一行记录,还是多了一列字段?
    多了记录是你的sql是insert没有update,或者你的主键没有匹配上。
    多了字段(列)是你执行了alter table修改了表结构(感觉这个不太可能)

    点赞 评论 复制链接分享
  • mafei852213034 Felix.Ma 3年前

    是不是你要修改的参数不存在,然后新增的啊 先去查询rawQuery 游标是否为空 再去修改

    /*ContentValues values1 = new ContentValues();
    values1.put("price",5435);
    db.update("book",values1,"name=?",new String[]{"android"});*/
    db.execSQL("update Book set price = ? where name =?",new String[]{"4533","android"});

    点赞 2 评论 复制链接分享
  • zhaomin_g _zming 3年前

    执行sql前看下代码传入的update参数的值是不是就已经多了,可以写个语句把值打印出来看下,数据库本身不会在update某个字段的值执行追加,要么值
    有问题,要么sql写的不对。不过有些数据库进行插入或更新遇到空字符串(不是null)会自动添加一个空格,比如sybase

    点赞 评论 复制链接分享
  • iwantadream iwantadream 3年前

    要看你页面上进行的操作的真正sql语句是什么,输出sql语句看一下就知道了

    点赞 评论 复制链接分享

为你推荐