防止本地update误操作
背景:
我们在手动更新数据时候没有添加条件就会把整列直接更新上去,这样会会导致该列数据出错;
更新前:
root@leadchina 03:32:13->select * from student; +----+----------+-----+--------+ | id | name | age | dept | +----+----------+-----+--------+ | 1 | huhui | 29 | test | | 2 | student2 | 10 | lead | | 3 | 0 | 11 | gongli | | 4 | 007 | 9 | gongli | | 5 | 008 | 9 | gongli | | 6 | student | 9 | gongli | | 7 | name | 10 | gongli | | 8 | hui | 10 | gongli | | 9 | tan | 22 | shuxue | | 11 | tan1 | 22 | shuxue | | 12 | tan2 | 22 | shuxue | | 13 | aaa | 20 | IT | | 14 | a1122 | 24 | IT | +----+----------+-----+--------+ 13 rows in set (0.00 sec)
更新后:
root@leadchina 03:32:29->update student set age =10;
root@leadchina 03:33:52->select * from student; +----+----------+-----+--------+ | id | name | age | dept | +----+----------+-----+--------+ | 1 | huhui | 10 | test | | 2 | student2 | 10 | lead | | 3 | 0 | 10 | gongli | | 4 | 007 | 10 | gongli | | 5 | 008 | 10 | gongli | | 6 | student | 10 | gongli | | 7 | name | 10 | gongli | | 8 | hui | 10 | gongli | | 9 | tan | 10 | shuxue | | 11 | tan1 | 10 | shuxue | | 12 | tan2 | 10 | shuxue | | 13 | aaa | 10 | IT | | 14 | a1122 | 10 | IT | +----+----------+-----+--------+ 13 rows in set (0.01 sec)
会发现在没有添加where的条件下,整个age列全部被更新为10,为防止本地登录的时候不出现这种情况,我们可以对mysql进行别名化
alias mysql='mysql -U'
再去执行更新操作会提如下,这样可以有效防止本地误更新给数据带来不必要的灾难
root@leadchina 03:38:00->update student set age=11; ERROR 1175 (HY000): You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column.

 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号