問題タブ [sql-delete]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - SQLでテーブルレコード数=1の場合、常に1つのレコードを残したい
このSQL句でレコードを削除できます。
「ID=2」であっても、テーブル数= 1の場合は、常に1つのレコードを残す必要があります。これどうやってするの?
sql - SQL DELETE パフォーマンス
テーブル A には約 5000 のレコードが含まれており、A.ID はテーブル A の主キーです。しかし、削除に時間がかかっています。タイムアウトになることもあります。そのテーブルには 3 つのインデックスが含まれており、3 つの外部キーによって参照されます。主キーに基づいて削除しているのに、なぜ時間がかかるのか説明してもらえますか。そして、この問題を最適化する方法を教えてください...?
sql - 重複するエントリを削除するにはどうすればよいですか?
既存のテーブルに一意の制約を追加する必要があります。これは、テーブルにすでに数百万の行があり、行の多くが追加する必要のある一意の制約に違反していることを除いて、問題ありません。
問題のある行を削除するための最速のアプローチは何ですか?重複を見つけて削除するSQLステートメントがありますが、実行には永遠に時間がかかります。この問題を解決する別の方法はありますか?たぶん、テーブルをバックアップし、制約が追加された後に復元しますか?
sql - テーブルからの重複レコードの削除 - SQL クエリ
テーブルに 3 つの重複行があるように、テーブルからのみ重複行を削除する必要があります。クエリは 3 つの重複行から 2 行を削除します。
どうすればこれを入手できますか? 私を助けてください。
mysql - この MySQL SELECT クエリを DELETE クエリに変換する方法は?
データベースから特定のアイテムを削除したい。次のクエリがあります。
これは機能し、2 つの結果が返されます。
SELECT
ここで、このクエリをクエリに変えたいと思いDELETE
ます。ただし、以下は機能しません。
MySQL は次のエラーをスローします。
1064 - SQL 構文にエラーがあります。使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。
ここで何が間違っていますか?
mysql - データベースから削除するには?
データベース テーブルからデータを削除する 2 つの方法を知っています
- 完全に削除します
- isActive/isDeleted のようなフラグを使用する
isActive の問題は、レコードがアクティブかどうかを SQL クエリのあらゆる場所で追跡する必要があることです。ただし、DELETE を使用すると、データが永久に削除されます。
このデータをバックアップする最善の方法は何ですか?
データベースに複数のテーブルがあると仮定すると、すべてをバックアップして別のテーブルに保存するだけの共通関数が必要ですか (おそらく XML でしょうか?)、または他の方法があります。
私は MySQL を使用していますが、他の DB で使用されている手法にも興味があります。
sqlite - SQLite で DELETE の LIMIT を有効にするにはどうすればよいですか?
PHP を使用して、同じ内容の複数のアイテムを格納できる単純なデータベースを作成しました。DELETE を使用するときに、最初に出現したインスタンスを削除したいと考えています。
PHPを使用してSQLiteでDELETEのLIMITを有効にするにはどうすればよいですか?
jquery - 削除する警告モーダルを追加する方法
削除ボタン用に次のMySQLがあります。
続行することを確認するために jquery モーダルを追加したいと思います。「本当に削除しますか? はい | いいえ」
YES をクリックすると削除が実行され、NO の場合はモーダルを終了してページに戻ります。
各アンカーの ID は動的に追加されます。
これにより、次の html が出力されます。
HTML、
これを行う最善の方法は何ですか?
mysql - MYSQL は count(*)=1 を持つすべての結果を削除します
sesskey (varchar32 , index) と products (int11) の 2 つのフィールドでタグ付けされたテーブルがあり、sesskey count(*) = 1 でグループ化されたすべての行を削除する必要があります。いくつかの方法を試していますが、すべて失敗します。
例:
sesskey フィールドは繰り返されているため、主キーにできませんでした。
sql - SQL Server 2000 削除トップ (1000)
約 4,500 万レコードのテーブルを持つ大規模な SQL Server データベースがあります。このテーブルをアーカイブしていますが、2 年以上前のすべてのエントリを削除する必要があります。アーカイブ テーブルへの挿入は正常に機能していますが、削除時の効率に問題があります。
私の問題は、現在テーブルにあるインデックスにあります。1000 レコード チャンクで削除 (およびアーカイブの挿入) したいと思います。これを行うには、要件を満たす "上位" 1000 件のレコード (2 年以上前) を特定する必要があります。行の DateTime スタンプはクラスター化されたインデックスであるため、これは行を取得するのに最適です。ただし、SQL 2000 では DELETE TOP 1000 が許可されていないため、次のようにする必要があります。
UniqueID がインデックス化されている場合、これはうまく機能します。そうでないため、これには非常に長い時間がかかります (削除される 1000 レコードごとにテーブルをスキャンしています)。テーブルには、レコードを一意に識別する他のインデックスはありません。これはライブ DB であるため、UniqueID でインデックスを計算するにはコストがかかりすぎると言われています。このクエリを最適化する方法を誰か指摘できますか?