3

特定のテーブルで次の操作を実行したいJSPアプリケーションを構築しています

  • データを表示する
  • データの削除

ただし、データの表示は完了しました。

テーブルに主キーがない場合、データベースの行を削除するにはどうすればよいですか?(削除操作はその行の値に依存しません)

ここにmayテーブルがあるとします->>mytempここにデータがあります

Name | RollNo
ABC  |  98
XYZ  |  76
ABC  |  98
XYZ  |  76

このテーブルにキーがないので、3番目のレコードを削除したいと思います。これどうやってするの ?

4

3 に答える 3

4

最も適切と思われる利用可能な列を選択できます。

DELETE FROM table_name WHERE column_name  = 'valuse'    

column_nameがないと、すべての行のみを削除できます。

column_name主キーである必要はありませんが、のすべての行column_name = 'valuse'が削除されます。


編集
削除するには:

  DELETE FROM table_name WHERE Name = 'ABC' AND  RollNo  = 98;       

NameRollNo主キー ではない可能性があります。

3行目のみを削除します。

DELETE FROM table_name  
WHERE ('ABC',98) IN ( SELECT TOP 1 Name, Rollno 
                      FROM table_name 
                      ORDER BY Name,RollNo DES)   

2番目の方法:TOPが機能しない場合

DELETE FROM table_name  
WHERE ('ABC',98) IN ( SELECT  Name, Rollno 
                      FROM table_name 
                      ORDER BY Name,RollNo DES LIMT 1)   

注意:1つは削除されますが、どれかはわかりません。

試してみる!!

于 2012-12-27T10:03:29.610 に答える
1

すべてのレコードを削除したい場合は、

delete from TABLE_NAME

DBの行に違いがある場合は、次のwhereように句を追加することもできます。

delete from TABLE_NAME where COL1=XXX AND/OR COL@ =YYY

等...

delete from TABLE_NAME where RollNo= RollNo_HERE AND Name = 'NAME_HERE'

これがお役に立てば幸いです

于 2012-12-27T10:03:47.090 に答える
1

これを試して:

DELETE t
FROM YourTable t
WHERE t.Name    = 'Selected Name'
  AND t.RollNo = 'Selected RollNo';
于 2012-12-27T10:12:27.643 に答える