これが私の状況です。
データベースにテーブルがあり、複数のエントリがありますが、削除する必要があるのは 1 つだけです。
これをグーグルで検索しようとすると、これらのエントリの1つを除くすべてを削除することに関する質問しか見つかりませんでしたが、1つだけを削除して残りを残す必要があります.
私はこれについて完全に混乱しており、その方法を本当に理解していません。
これが私の状況です。
データベースにテーブルがあり、複数のエントリがありますが、削除する必要があるのは 1 つだけです。
これをグーグルで検索しようとすると、これらのエントリの1つを除くすべてを削除することに関する質問しか見つかりませんでしたが、1つだけを削除して残りを残す必要があります.
私はこれについて完全に混乱しており、その方法を本当に理解していません。
できればテーブルの主キーによって、削除する行を識別するために where 句を使用する必要があります。例えば:
delete from MyTable where id = 1
テーブルのスキーマを投稿していただければ、構文の改善をお手伝いできます。
削除しようとしている行には、それを識別する一意の方法 (通常は主キー) が必要です。次に、WHERE
句を使用してクエリを指定しますDELETE
。
DELETE FROM sparkles WHERE primaryKey = 1
または、キーがない場合は、削除するレコードのすべての値に一致する基準でフィルタリングします。
DELETE FROM sparkles WHERE col1 = 5 AND col2 = 15 AND col3 = 51
Javaでこれを実現しようとしている場合は、おそらくJDBCを使用していますが、これが1回限りの作業である場合は、適切なwhere句を使用して削除クエリを直接実行できます。
phpMyAdminでそれを行うためのステップバイステップ...
終わり。
これがJavaとしてタグ付けされている方法がわかりません。しかし、次のように制限演算子を使用したいようです。
DELETE FROM somedatabase WHERE someentry = 5 LIMIT 1;
私の2つ上の応答は良いですが、LIMITを除外しています。
テーブルに 5 つのフィールドがあり、特定のインスタンスに対して 1 つのフィールドのみを削除する場合は、そのフィールドに null 効果を与える更新クエリを起動する必要があります...
テーブルが Id | 名前 | MobNum
そして、レコード 5 の MobNum を削除したい ...クエリは次のようになります>>>
Update tlbName set MobNum=null where Id='5'