递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 52|回复: 4
打印 上一主题 下一主题

[服务器] gorm的错误和受影响的行数只能二选一吗 求大佬们解惑

[复制链接]

29

主题

122

帖子

946

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
946
跳转到指定楼层
楼主
发表于 6 小时前 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
gorm的错误和受影响行只能二选一吗
错误对象=gorm.更新字段(....).错误  //这里已经更新了

gorm.受影响的行数就等于0了

怎么该怎么理解呢 大佬们
回复

使用道具 举报

3

主题

116

帖子

1914

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
1914
沙发
发表于 5 小时前 | 只看该作者
错误对象是更新字段(....)的错误,不是gorm的错误,所以gorm是空,你写错了
回复

使用道具 举报

3

主题

116

帖子

1914

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
1914
板凳
发表于 5 小时前 | 只看该作者
gorm对象=gorm.更新字段(....)
错误对象=gorm对象.错误
行数=gorm对象.受影响的行数
回复

使用道具 举报

29

主题

122

帖子

946

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
946
地板
 楼主| 发表于 1 小时前 | 只看该作者
身边演员太多 发表于 2026-8-9 17:49
gorm对象=gorm.更新字段(....)
错误对象=gorm对象.错误
行数=gorm对象.受影响的行数 ...

数据时mysql
txDB=主数据.开始事务(空对象)
txDB.置表名("user_table").置排它锁 ().cha询 (oldData, "id=?", userOBJ.id) //锁住旧数据行
txDB.置表名("user_table").忽略("id","add_time").更新全部(newOBJ)  //假设这里报错了或者成功了
txDB.错误  //这里始终都为空对象
txDB.取受影响的行  //这里始终都是0
//而且还报错了 说什么索引找不到
....
....
//后续的更新其他表
txDB.提交事务()

所以我无论如何都不能同时得到错误对象和受影响的行
我不知道该如何操作了  原生go可以同时得到这两个
回复

使用道具 举报

29

主题

122

帖子

946

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
946
5#
 楼主| 发表于 1 小时前 | 只看该作者
身边演员太多 发表于 2026-8-9 17:49
gorm对象=gorm.更新字段(....)
错误对象=gorm对象.错误
行数=gorm对象.受影响的行数 ...

你是对的 我忽略了没有重新赋值
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2026-8-9 22:49 , Processed in 0.090061 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表