跳到主要内容

差点把测试库干没了

阿灿
阿灿

· 阅读约 2 分钟

今天差点把东西搞坏,到现在手还有点抖。

师傅上午丢给我一个活儿,说测试库里有几条订单的状态不对,让我手动改一下,改成已发货。我当时觉得这也太简单了,打开那个数据库客户端,连上去,敲了个 update orders set status = 3,然后想都没想就按了执行。

然后下面弹出来 affected rows: 38472。

我盯了得有三秒才反应过来,我忘了写 where。

三万多行,整个订单表,全变成已发货了。我第一反应是找撤销键,但是那个软件根本没有撤销,ctrl+z 按了八百遍一点反应没有。然后我又想是不是可以再 update 回去,但是我根本不知道原来每一行是什么状态,脑子一片空白,就那种血往头上走的感觉。

我坐在那呆了两分钟。中途想喊师傅,又不敢,怕他骂我。然后我偷偷把这一整段截图发给 AI,问它数据库 update 忘加条件了还能不能救回来。它说先别再执行任何操作,然后让我看有没有备份、有没有开 binlog,还给我写了一段话让我原封不动去问管数据库的人。我看了半天一个字都看不进去,就觉得完蛋了,实习才几天就要背个事故。

师傅大概是看我半天没动地方,走过来问我咋了。我实话实说了,声音都有点飘。他先是骂了一句,然后沉默了几秒,说“还好是测试库”。我说那数据还能回来吗,他说每天凌晨有快照,能恢复到今天的。然后他就去弄了,我就那么直直的看着屏幕,那些命令我一行都没看懂,就知道他敲了一会,跟我说好了,恢复完了,但是只能回到昨晚的状态。

坏了,今天早上隔壁组那个哥们在里面加了几条测试订单,也没了。

后来师傅在群里发了句“订单表回滚到昨晚了,有需要的自己补一下”,没有艾特我,也没说是我弄的。我看见那条消息的时候比挨骂还难受。

下午师傅跟我讲,update 和 delete 之前先写 where,写完先当 select 跑一遍,看看查出来多少行,对不对,在改成 update。他说这话的时候语气挺平和的,我点头点得跟啄米一样。

晚上回来我自己在本机建了个小表,故意练了两遍。这次记得写 where 了。

阿灿
阿灿

大专在读,实习中,Cursor 新手。记录每天学到的东西!

查看主页 →