llddkzf 发表于 2026-8-9 15:52:54

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

gorm的错误和受影响行只能二选一吗
错误对象=gorm.更新字段(....).错误//这里已经更新了

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

怎么该怎么理解呢 大佬们

身边演员太多 发表于 2026-8-9 17:35:42

错误对象是更新字段(....)的错误,不是gorm的错误,所以gorm是空,你写错了

身边演员太多 发表于 2026-8-9 17:49:16

gorm对象=gorm.更新字段(....)
错误对象=gorm对象.错误
行数=gorm对象.受影响的行数

llddkzf 发表于 2026-8-9 21:07:11

身边演员太多 发表于 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可以同时得到这两个:dizzy:

llddkzf 发表于 2026-8-9 21:13:00

身边演员太多 发表于 2026-8-9 17:49
gorm对象=gorm.更新字段(....)
错误对象=gorm对象.错误
行数=gorm对象.受影响的行数 ...

你是对的 我忽略了没有重新赋值
页: [1]
查看完整版本: gorm的错误和受影响的行数只能二选一吗 求大佬们解惑