请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于DecrNum(cartID int64, num int64)

老师你好,请问这个gorm对应的sql语句应该怎么写呢
u.mysqlDb.Model(cart).Where(“num >= ?”,num).UpdateColumn(“num”,gorm.Expr(“num - ?”,num))
视频里面没看明白

正在回答 回答被采纳积分+3

1回答

Cap 2022-12-26 10:35:57

类似这种:update cart set num = num - 10 where num >= 10;  其中10 改成变量。

1 回复 有任何疑惑可以回复我~
  • 提问者 慕瓜9063200 #1
    type Cart struct{
    	ID int64 `gorm:"primary_key;not_null;auto_increment" json:"id"`
    	ProductID int64 `gorm:"not_null" json:"product_id"`
    	Num int64 `gorm:"not_null" json:"num"`
    	SizeID int64 `gorm:"not_null" json:"size_id"`
    	UserID int64 `gorm:"not_null" json:"user_id"`
    }
    这是表结构,假设有多条记录,
    ID               ProductID               Num             SizeID           UserID
    1                      1                           10                  xxx                001
    2                      2                           11                 xxx                001
    3                      3                           12                   xxx               001
    上表为购物车表,一个用户有三个购物车,里面有三个商品,按照老师说的sql语句,执行后所有数量大于10的商品都会减掉,  老师这条sql真的对吗还是业务逻辑有问题
    回复 有任何疑惑可以回复我~ 2022-12-26 12:43:13
  • Cap 回复 提问者 慕瓜9063200 #2
    cart := &model.Cart{ID: cartID}
    回复 有任何疑惑可以回复我~ 2022-12-26 15:44:55
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信