mysql update 更新数据时部分字段修改了部分字段没有修改

mysql update 更新数据时部分字段修改了部分字段没有修改,第1张

UPDATE member_fields SET province = '$city', city = '$city' WHERE mid = 4007

这种修改的时候,province 能保证每次得到最新的$city值?而city不可以?尝试查看提交页面,看city相对应的代码,是否和province 完全一致?还是有其他不同?

将提交页面覆写,将city改名,进行尝试

代码问题往往就是一个极小的疏忽导致的。仔细,再仔细。

connOpen();

SqlCommand myCommand = new SqlCommand(sql,conn);

SqlDataAdapter myAdapter = new SqlDataAdapter(myCommand);//new一个adapter对象

SqlCommandBuilder build = new SqlCommandBuilder(myAdapter);

这块没必要这么写吧

你不就是执行一个添加么

直接用

connOpen();

SqlCommand myCommand = new SqlCommand(sql,conn);

myCommandExecuteNonQuery()

就可以了啊

修改后的udpate语句,因为没有where过滤条件,所以会是全表更新。

根据ID更新没反应首先确定是数据库里数据本身没有更新,还是数据更新了页面却显示不是更新后的数据。

如果是数据库数据没有更新,可能原因是你获取的ID在数据库不存在,或者你的update语句存在问题,或者更新后没有提交事物,等等。

如果数据库数据更新而页面显示不是更新后的数据,这个应该是你请求到后台更新数据成功后,前台页面没有刷新的原因。

目测可能是少加了个单引号

假设是今天执行的, income = 123 你的 实际执行的语句为:

update [payofftable] set [income]='123' where [time]= 2013-5-15

后面那个 2013-5-15 最后会被按照 int 类型来处理, 变成 2013 减5 减15

正确的写法应该为

update [payofftable] set [income]='123' where [time]= '2013-5-15'

大致看了下,你是用的ss创建的update语句,但是你执行的是ps那个,就是你的update语句并没有执行啊,

你应该把

tc=psexecuteQuery();

改为:

ssexecuteUpdate();

原因是未commit提交或传递参数时存在同名id。解决方法:

1、需要通过代码主动commit,方能使本次数据库 *** 作生效。

2、sqlplus数据库附加同名的数据库,并将同名数据库修改为另外一个名字导入再进来入。

很简单

1、在SQL语句执行之前增加断点

2、扑获当时的SQL

3、去数据库中验证该SQL语句是否可以正确Update,或者DElete

写数据库的 *** 作,基本上都要在SQL语句的地方加断点调试的

以上就是关于mysql update 更新数据时部分字段修改了部分字段没有修改全部的内容,包括:mysql update 更新数据时部分字段修改了部分字段没有修改、sql更新成功,但数据库数据未更新、mysql,java修改页面,能正确读取数据,提交数据也能正确提交,但是提交之后内容不变,等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9702036.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存