【叶问】如何降低UPDATE/DELETE时WHERE条件写错,或者压根没写WHERE条件带来的影响

转自:知数堂

如何降低UPDATE/DELETE时WHERE条件写错,或者压根没写WHERE条件带来的影响
0、尽量不要在线手工执行任何SQL命令,很容易出差错。线上直接执行SQL命令最好有第二检查人帮助确认
1、最好在测试环境执行SQL确认无误后,再到生产环境执行,或者提前在本地文本环境编辑好确认后再执行
2、建议打开sql_safe_updates选项,禁止没有WHERE条件或者不加LIMIT或者没有使用索引条件的UPDATE/DELETE命令被执行。

  也可以在用mysql客户端连接到服务器端时增加--safe-updates选项,

  例如:mysql --safe-updates -h xx -u xx
3、线上手动执行DML操作时,先开启事务模式,万一误操作可以回滚。例如:mysql> begin; update xxx; rollback;
4、通过DB管理平台执行DML操作,且在平台上增加对此类危险SQL的判断,直接拒绝危险SQL的执行
5、配置延迟从库,发现误删除数据后,从延迟从库快速恢复数据

猜你喜欢

转载自www.cnblogs.com/gered/p/10836139.html
今日推荐