【问题记录】若依新增或更新 报操作失败(已解决)

记录一下。。
【情况】
用若依代码生成器所生成的代码,试图更新user_Id,但是报操作失败,却找不到任何错。其他功能都正常,甚至改除了user_Id字段之外的字段都是可以的。
直到 ——

【后端日志】

21:28:38.193 [http-nio-8080-exec-65] DEBUG c.r.u.m.U.updateUserInfo - [debug,137] - ==>  
Preparing: 
update user_info SET community_id = ?, sex = ?, create_by = ?, create_time = ?, update_by = ?, update_time = ? where user_id = ?

21:28:38.202 [http-nio-8080-exec-65] DEBUG c.r.u.m.U.updateUserInfo - [debug,137] - ==> 
Parameters: 
2(String), 0(Long), (String), 2023-04-07 21:02:42.0(Timestamp), (String), 2023-04-07 21:28:38.193(Timestamp), 2233peaing(String)

21:28:38.202 [http-nio-8080-exec-65] DEBUG c.r.u.m.U.updateUserInfo - [debug,137] - <== 
Updates: 0

【含义】
日志为SQL 语句的准备语句,
将 user_info 表中 user_id 为 2233peaing 的用户的 community_id 字段设置为 2,sex 字段设置为……
最后一行 “<== Updates: 0” 表示执行的更新数量为 0。

知道日志表达的含义就知道了。问题就是我的 user_info 表的主键就是user_id,而user_id是字符串,正如日志所示,“将 user_info 表中 user_id 为 2233peaing 的用户”,大概若依是根据主键去更新和插入记录的。
具体还不知道若依是因为主键是字符串还是因为根据主键去更改主键才报错,理论上应该是后者。但是没时间试了,反正通过把user_id的主键取消,转而给数据库加了个id的int类型自增字段作为主键,确实可以新增和更新了

【后更】
之前写的好垃圾,不是上面的问题。
首先不止若依,一般都是根据主键去更新和修改。
其次一看这sql肯定没问题,应该是数据库类型和传递类型对不上或者根本没有id为这一串字符串的记录,所以改成id自增才能解决。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值