我正在尝试从mysql.user中删除所有用户 除了用户“1”和“2”;
我运行了这个命令,但它也删除了用户“1”和“2”;
mysql> delete from mysql.user where user!='1' or user!='2';
我也试过
mysql> delete from mysql.user where (user!='1' or user!='2');
同样的结果,用户'1'和'2'正在被删除。
答案 0 :(得分:10)
这应该可以使用NOT IN
:
DELETE FROM mysql.user where user NOT IN (1,2)
您的查询问题是OR
- 它正在删除另一个,因为1不等于2,反之亦然。
您的查询适用于AND
:
delete from mysql.user where (user!='1' AND user!='2');
VS
答案 1 :(得分:3)
您可以使用NOT IN
DELETE FROM mysql.user WHERE user NOT IN (1, 2)
两者都包含在内的原因很简单。 1 <> 2
和2 <> 1
。
答案 2 :(得分:1)
从mysql.user中删除,其中用户不在('1','2')