• MySQL短时间内更新相同语句导致事务失败的问题
  • 发布于 5小时前
  • 8 热度
    8 评论
  • 小熊
  • 1 粉丝 44 篇博客
  •   
MYSQL UPDATE 在很短的时间内更新相同的语句,就会有告警,导至事务失败,有没有人遇到这问题?

如:

UPDATE `api_wallet` SET `credits`=`credits`+'1087.77', `cost`=`cost`+'151.23' WHERE `uid`='12';

Rows matched: 1 Changed: 1 Warnings: 1
mysqli_warning Object
(
[message] => Data truncated for column 'credits' at row 1
[sqlstate] => HY000
[errno] => 1265
)

用户评论
  • 诗人诗意
  • 有没有查过日志,引起警告的语句具体是什么,有没有可能你在有些语句里面,传入了不符合数据库字段需要的值,比如 1087.770
  • 2025/8/27 8:53:00 [ 0 ] [ 0 ] 回复
  • 梦清幽
  • 最佳实践是别用 mysql 做算术题,你就当他是 kv 你 update 一个主键就行。先查出来,加个锁,开个事务,提交数据,mysql 的 cpu 很值钱,你程序的 cpu 不值钱,否则你高频做整个事情 mysql 内部自己有悲观锁什么的不整死你才怪。
  • 2025/8/27 8:47:00 [ 0 ] [ 0 ] 回复