跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • MariaDB 数据库事务提交后,发现好多数据不见了
未分類
30 10 月 2020

MariaDB 数据库事务提交后,发现好多数据不见了

MariaDB 数据库事务提交后,发现好多数据不见了

資深大佬 : s609926202 4

写了一个事务,要保证一致性,要么都成功,要么都回滚。
但是发现在提交事务后,一张表中的好多数据都消失了,比如 t_user 表,提交事务前有 300 条记录,提交后变成 200 条,但实际上事务中并没有删除掉这些数据。

事务大致内容( TP 框架):
“`
$db = M();
$db->startTrans();

…一些删除、查询、新增、更新语句…

$db->commit();
return true;
“`

事务中包含了对同一个表记录的删除、查询、新增操作,当我移除事务时,一切正常,没有出现丢失数据的情况。所以初步怀疑是事务造成了数据的消失。

请问有什么办法可以定位到问题所在吗?

大佬有話說 (7)

  • 資深大佬 : kidlj

    相比怀疑 MySQL,TP 或者 MySQL driver,更要首先怀疑自己的代码。

  • 資深大佬 : labulaka521

    幻觉

  • 資深大佬 : wowo243

    查代码,代码查不出来查 binlog

  • 主 資深大佬 : s609926202

    @kidlj
    @labulaka521 移除事务后,bug 不复现;添加事务后,bug 复现。。更加确认了是事务的关系

  • 資深大佬 : golden0125

    应该判断$db->commit();的返回 而不是直接直接返回 true

  • 資深大佬 : CyJaySong

    直接就返回 true, 你确定 commit 成功了?

  • 資深大佬 : zarte

    很多人用的程序遇到问题先排除程序问题,直接查代码找问题可以省很多时间,还不会被嘲讽。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具