只要操作的正式库,写下第一行肯定是begin trans,第2行肯定是rollback,然后在中间开始敲你要的东西。敲完了点全部执行,看影响了多少行。如果符合预期,把rollback改成commit,正式执行。 很多时候,看到“xxxxxxx row(s) affected”明知道有rollback也会吓一身冷汗出来的
另一个回答:
偶尔要做 DB 维护,这是一点点经验。
不要走神。不听歌,不聊天,不吃东西,不喝饮料,头脑清醒,知道自己在做什么,要做什么。
写出步骤。连接到哪个数据库,ip是什么,运行什么命令,先做什么,后做什么,出了问题怎么roll back,我知道你都懂,但要写出来,不要相信自己的记忆。
在测试环境验证。拿来写好的步骤,在测试环境中跑一遍,一半以上的可能会发现问题,然后再修改步骤,不要直接在产品环境中跑。
delete 和 update 前,先查询,用同样的 where 语句 select,至少知道有多少记录会被影响到。
drop 和 truncate 之前,检查三遍,连接的是不是正确的数据库。
一次只连接一个DB,不要开几个窗口,有的连测试,有的连产品,或早或晚,你会出错。
备份,备份,备份。
作者:ze ran
链接:https://www.zhihu.com/question/30748582/answer/49373274
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
时间: 2024-12-21 21:13:37