codedvalue 2018-08-09 06:31 采纳率: 80%
浏览 1969
已采纳

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

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

  • 写回答

10条回答 默认 最新

  • someday0898 2018-08-09 11:38
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • iwantadream 2018-08-09 06:56
    关注

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

    评论
  • _zming 2018-08-09 07:46
    关注

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

    评论
  • Felix.Ma 2018-08-09 07:59
    关注

    是不是你要修改的参数不存在,然后新增的啊 先去查询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"});

    评论
  • threenewbee 2018-08-09 08:01
    关注

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

    评论
  • cloudyzhao 2018-08-09 08:49
    关注

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

    评论
  • alunSemiconductor 2018-08-09 11:52
    关注

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

    评论
  • 洞妖洞妖呼叫洞拐 2018-08-10 03:05
    关注

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

    评论
  • 壹只程序猿 2018-08-10 06:21
    关注

    信息没匹配上在检查检查

    评论
  • ^^想想& 2018-08-11 11:05
    关注

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

    评论
查看更多回答(9条)

报告相同问题?

悬赏问题

  • ¥15 Unity导出2D项目运行时图片变成马赛克
  • ¥15 关于communitytoolkit.mvvm的生成器得到的代码看起来没有被使用的问题
  • ¥15 matlab中此类型的变量不支持使用点进行索引
  • ¥15 咨询第六届工业互联网数据创新大赛原始数据
  • ¥15 Pycharm无法自动补全,识别第三方库函数接收的参数!
  • ¥15 STM32U575 pwm和DMA输出的波形少一段
  • ¥30 android百度地图SDK海量点显示标题
  • ¥15 windows导入environment.yml运行conda env create -f environment_win.yml命令报错
  • ¥15 这段代码可以正常运行,打包后无法执行,在执行for内容之前一直不断弹窗,请修改调整
  • ¥15 C语言判断有向图是否存在环路