問題タブ [delete-row]
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.
asp.net - ASP.NET - try catch で GridView Delete をラップする方法、または行の削除を停止する方法
gridview 行の削除を try catch でラップして、画面に適切なエラー メッセージを表示したり、特定の状況で削除が行われないようにしたりしたいと考えています。
現在、データベースで外部キー違反が発生しています。したがって、子レコードがある場合に削除が行われないようにするか、外部キーの例外をキャッチして、画面に適切なエラー メッセージを表示する必要があります。
誰でもこれを行う方法を教えてもらえますか?
c# - DataTable、条件付きで行を削除する方法
私は C# の学習プロセスに取り組んでおり、これまでのところ順調に進んでいます。しかし、私は今、最初の「何を言う?」を打ちました。一瞬。
DataTable は、典型的なコレクションの動作だけでなく、DataTable.Select を介して、Rows コレクションへのランダムな行アクセスを提供します。ただし、この機能を DataRow.Delete に関連付けることはできないようです。これまでのところ、テーブルから 1 つまたは複数の行を条件付きで削除するには、これが必要なようです。
しかし、私はこのコードに満足していません。どちらも私は確信していません。私は何かが欠けているに違いない。条件付きで 1 つ以上の行を削除する必要がある場合、Rows コレクションを順番にヒットする必要がありますか?
(for の反転は気にしないでください。データテーブルの最後から削除しています。それで問題ありません)
linq-to-entities - Linq to Entities を使用してテーブルから 1 つ以上の行を削除するにはどうすればよいですか? 最初に行を取得する必要はありません。
削除ストアド プロシージャを特定の型の削除メソッドにマップできることを理解しています。
ただし、これには、取得したオブジェクトをコンテキストのDeleteObject
メソッドに渡す必要があります。
これでも十分ですが、2000 行を削除したい場合はどうすればよいでしょうか。最初にデータベースから 2000 行を取得してループ呼び出しを行わずに、Linq to Entities でこれを行うことはできますDeleteObject
か?
そのような機能が Linq to Entities に存在せず、これが事実であることがわかっている場合は、そう言ってください。他のオプションを調査します!
直接存在しない場合は、Linq を介して Stored Proc をエンティティにパイプすることで達成できますか?
sql - 競合するテーブルからの行の削除
各行にランダムに生成された主キー、メッセージ、およびユーザーが含まれるDBテーブルがあります。各ユーザーには約10〜100のメッセージがありますが、1万〜5万のユーザーがいます。
私は一度に各ユーザーのために毎日メッセージを書きます。テーブルをできるだけ小さくするために、新しいメッセージを作成する前に、各ユーザーの古いメッセージを破棄したいと思います。
今、私はこれを効果的に行っています:
次に、そのユーザーへのすべてのメッセージを書き込みます。同時に多くのスレッドがこれを実行しているため、多くの競合が発生しています。
各ユーザーの最新のメッセージセットを保持するための追加の要件があります。
DBに直接アクセスできません。私はいくつかの中古のフィードバックに基づいて問題を推測しようとしています。私がこのシナリオに焦点を当てている理由は、削除クエリが(私の知る限りでは)多くの待機時間を示していることに加えて、新しく追加された機能であるためです。
誰かアドバイスはありますか?
次の方が良いでしょうか:
次に、そこから個々の行を削除しますか?私はそれがより残酷なロックにつながるかもしれないと思っています。
sql - SQL で同様の列を削除する
PostgreSQL 8.3 でwidgets
、次のように呼び出されるテーブルがあるとします。
列に基づいて重複を削除し、テーブル内の列の値がtype
最も高いものだけを残します。count
最終的なデータは次のようになります。
近づいたような気がしますが、重複した列を取り除くために機能するクエリに頭を悩ませているようには見えません。
sql - sql、以前の UPDATE コマンドの影響を受けた場合にのみ行を削除する
1 行 (id) のみを更新し、ステータスが == の場合のみを stat に更新したい
今、すべての行を削除したいのですが、上記が影響を受けた場合にのみ、上記が影響を受けた場合にのみ削除するように以下を変更するにはどうすればよいですか?
mysql - 指定されたリストの行番号を除くすべての行を削除します
基本的にここでやりたいことは次のとおりです。アカウント テーブルがあり、acct_id: (3, 24, 515, 6326, 17) のリストがあります。テーブルに約 100,000 個のアカウントがあると仮定すると、最も効果的な方法は何ですか指定されたリストの account_id を持つ行以外のすべての行を削除しますか?
私は次のようなものを思いつきました:
このクエリは再帰的か何かで遅いと聞きました。私が持っている行の数を考慮してください。それは非常に遅いでしょう。これを行うためのより良い方法は何ですか?
oracle - 一括削除
1,400 万行を超えるデータベース テーブルがあります。
私が実行しようとすると:
接続がハングアウトします。
最終的に削除されるように、すべての行を「バッチ」で削除するにはどうすればよいですか?
sql-server - データベース行とその参照の削除 - ベスト プラクティス
主キーまたは外部キーとして他の多くのテーブルによって参照されている行を削除するにはどうすればよいですか?
各参照を適切な順序で削除する必要がありますか、または linq to sql などでこれを実行する「自動」の方法はありますか?
mysql - 行を削除するとロック タイムアウトが発生する
テーブルから行を削除しようとすると、これらのエラーが発生し続けます。ここでの特別なケースは、同時に 5 つのプロセスを実行している可能性があることです。
テーブル自体は、最大 450 万行の Innodb テーブルです。WHERE 句で使用されている列にインデックスがありません。他の指標は想定どおりに機能しています。
これはトランザクション内で行われます。最初にレコードを削除し、次に置換レコードを挿入します。すべてのレコードが挿入された場合にのみ、トランザクションをコミットする必要があります。
エラーメッセージ:
クエリ エラー: ロック待機タイムアウトを超えました。DELETE FROM tablename WHERE column=value の実行中にトランザクションを再開してみてください
ここで参照列にインデックスを作成すると役に立ちますか? 行を明示的にロックする必要がありますか?
質問#64653でいくつかの追加情報を見つけましたが、それが私の状況を完全にカバーしているとは思いません。
エラーの原因が DELETE ステートメントであることは確かですか、それともクエリ内の他のステートメントである可能性がありますか? DELETE ステートメントは最初のステートメントなので、論理的に見えますが、よくわかりません。