1. ホーム
  2. mysql

[解決済み] Mysqlでidを使用してテーブルから多くの行を削除する

2022-03-13 01:12:31

質問

私はMysqlクエリの唯一の基本的な知識を持つLinux管理者です。

私は、テーブルからIPアドレスを含む多くのテーブルエントリを削除したいのですが、それには イド ,

現在、私が使用しているのは

DELETE from tablename where id=1;
DELETE from tablename where id=2;

しかし、私は254のエントリを削除する必要があり、このメソッドは数時間かかるだろう、私はこの254のうち、いくつかのエントリを削除することをスキップしたいので、指定した行を削除するようにmysqlに伝えることができます。

テーブル全体を削除して、必要なエントリをインポートすることはできません。

解決方法は?

最も良い方法は IN ステートメントを使用します。

DELETE from tablename WHERE id IN (1,2,3,...,254);

を使用することもできます。 BETWEEN 連続したIDがある場合 :

DELETE from tablename WHERE id BETWEEN 1 AND 254;

もちろん、他の WHERE 句を使用して、一部の ID を制限することもできます。

DELETE from tablename WHERE id BETWEEN 1 AND 254 AND id<>10;