1. 起因
有一次由于没有加where条件导致一条Update语句更新了整一个表的字段,而且没有做任何的备份和二进制日志,令我心有余悸。
在网上查阅了相关的资料,发现MySQL有一个safe update mode
模式,只要开启了这个模式,妈妈再也不用担心我更新和删除掉整个表的字段
2. 开启
在使用mysql连接时加上U就可以了
[vagrant@vagrant-centos65 etc]$ mysql -Uu root -p
当执行
mysql> update user set username='test';
就会提示:
ERROR 1175 (HY000): You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column
必须加上where
才可以执行成功:
mysql> update user set username='test' where id=1;
Query OK, 1 row affected (0.13 sec)
Rows matched: 1 Changed: 1 Warnings: 0
3. 总结
所以下次在想不修改所有字段时,就加上-U
启动吧!