关于update的问题

jamfchan 2007-07-14 11:43:54
例如有一个表.
USER
id username
1 wo
2 ni

update USER set username='wo' where id=1;
update USER set username='wo' where id=3;
这两句的影响行数都是0,不select的话,怎么区别是没有找到id还是找到但更新却没有变化呢?


...全文
176 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ivan_ren 2007-07-16
  • 打赏
  • 举报
回复
判断存在否,使用exists()就可以实现了
fa_ge 2007-07-16
  • 打赏
  • 举报
回复
打錯了,是字符型?
fa_ge 2007-07-16
  • 打赏
  • 举报
回复
id 的類型是不是數值型的??,如果是的話肯定影響是0了
jamfchan 2007-07-15
  • 打赏
  • 举报
回复
Mysql中的影响行数跟MSSQL中的rowcount不一样么?
echiynn 2007-07-15
  • 打赏
  • 举报
回复
@@rowcount=0就說明沒有找到匹配記錄
jamfchan 2007-07-15
  • 打赏
  • 举报
回复
select @@rowcount两条语句出来的都是0啊.
id是唯一的,但可以不通过再查询,就分出究竟是'无法在用户表中找到匹配行',还是找到了匹配行,但更新没变化?
louiedf 2007-07-15
  • 打赏
  • 举报
回复
update USER set username='wo' where id=1
select @@rowcount

这样就可以知道影响多少条数据了,至于update是否真的改变了原有数据就麻烦一点了
如果id能唯一确定一条数据,读取原username与将要修改的进行比对,如果id对应多条数据就更加麻烦了

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧