2

はぁ。そう。大量の行を削除しようとしているこの特定のクエリで遊んでいますが、最終的には期待どおりの結果が得られません。このクエリのさまざまなバリエーションを実行しましたが、うまくいきません。

基本的に私はこれをやろうとしています:

DELETE FROM table WHERE country <>  'MX' OR 'CA';

また

DELETE FROM table WHERE foobar NOT IN ( 12 OR 5 );

また

DELETE FROM table WHERE foobar NOT IN ( 'foo' ) OR ( 'bar' );

そして、私が持っていた他のいくつかのアイデアはうまくいきませんでした。何度も新しいデータセットをアップロードしているだけなので、正しい方向に助けていただければ幸いです。

4

2 に答える 2

5

実際には、「OR」などの論理演算子は条件に適用されますが、値には適用されません。

したがって、どちらでも使用できます

DELETE FROM table WHERE country <> 'MX' AND country <> 'CA';

また

DELETE FROM table WHERE country NOT IN ('MX', 'CA')

2番目の方が望ましいです。

于 2014-12-09T17:46:23.187 に答える
3

これを試して:

 DELETE FROM table WHERE country NOT IN ('MX', 'CA');
于 2014-12-09T17:43:00.537 に答える