2
mysqlを使用して、テーブルからすべての行を削除しますが、たとえば200レコードを保持しますか?テーブルから行を削除しますが、指定した番号を保持
明らかなアプローチは、それらを数え、いくつかの演算を行い、正しい数を削除することです。しかし、mysqlには1つの削除クエリでそれを行う組み込み関数がいくつかありますか?
mysqlを使用して、テーブルからすべての行を削除しますが、たとえば200レコードを保持しますか?テーブルから行を削除しますが、指定した番号を保持
明らかなアプローチは、それらを数え、いくつかの演算を行い、正しい数を削除することです。しかし、mysqlには1つの削除クエリでそれを行う組み込み関数がいくつかありますか?
あなたは条件を使用して削除することができます:あなたは正確 200行を持っていないように
delete from YourTable
where YourSequentialID > 200
あなたのシーケンシャルは、ギャップを持つことができますが。だからあなたができることはあなたの状態に取り組んでいます。
私が知っているdelete from YourTable
where id not in
(
select ID
from YourTable
LIMIT 200
)
、それが遅くなることができます。
あなたが維持するレコードを探す(200最初に言う)と、他のすべてを削除します。しかし、これはプロダクションクエリではなく、単にクリーンアップクエリです。あなたはそれを一度だけ実行する必要はありません。
x個のレコードを削除することをお勧めしますか、それとも他の場所にあるレコードを削除するだけですか? – Josh
@Josh xレコード以外のすべてを削除します。彼らは後でテーブルにとどまります。 –
削除しないレコードは200個ですか?あなたは日時の列を持っていて、200の最新のレコードまたは何かを保持したいですか? –