前言
无论是开发、测试,还是DBA,都难免会涉及到数据库的操作,比如:创建某张表,添加某个字段、添加数据、更新数据、删除数据、查询数据等等。
正常情况下还好,但如果操作数据库时出现失误,比如:
删除订单数据时where条件写错了,导致多删了很多用户订单。
更新会员有效时间时,一次性把所有会员的有效时间都更新了。
修复线上数据时,改错了,想还原。
还有很多很多场景,我就不一一列举了。
如果出现线上环境数据库误操作怎么办?有没有后悔药?
答案是有的,请各位看官仔细往下看。
1.不要用聊天工具发sql语句
通常开发人员写好sql语句之后,习惯通过聊天工具,比如:qq、钉钉、或者腾讯通等,发给团队老大
或者DBA
在线上环境执行。但由于有些聊天工具,对部分特殊字符
会自动转义,而且有些消息由于内容太长
,会被自动分成多条消息。
这样会导致团队老大或者DBA复制出来的sql不一定是正确的。
他们需要手动拼接成一条完整的sql
,有时甚至需要把转义后的字符替换回以前的特殊字符,无形之中会浪费很多额外的时间。即使最终sql拼接好了,真正执行sql的人,心里一定很虚。