我正在构建一个 JSP 应用程序,我希望对特定的表执行以下操作:
- 显示数据
- 删除数据
我已经完成了显示数据的操作,但是:
如果表中没有主键,如何删除数据库中的一行?(删除操作不依赖于该行的任何值)
假设这是我的表 -->> mytemp 这里是数据
Name | RollNo
ABC | 98
XYZ | 76
ABC | 98
XYZ | 76
这个表中没有关键字,我想要删除第三条记录。我该怎么做?
我正在构建一个 JSP 应用程序,我希望对特定的表执行以下操作:
我已经完成了显示数据的操作,但是:
如果表中没有主键,如何删除数据库中的一行?(删除操作不依赖于该行的任何值)
假设这是我的表 -->> mytemp 这里是数据
Name | RollNo
ABC | 98
XYZ | 76
ABC | 98
XYZ | 76
这个表中没有关键字,我想要删除第三条记录。我该怎么做?
DELETE FROM table_name WHERE column_name = 'valuse'
如果没有指定列名,那么将删除所有行。
column_name
不需要是主键,但是所有 column_name = 'value'
的行都将被删除。
编辑
要删除:
DELETE FROM table_name WHERE Name = 'ABC' AND RollNo = 98;
Name
和RollNo
可能不是主键。
仅删除第三行:
DELETE FROM table_name
WHERE ('ABC',98) IN ( SELECT TOP 1 Name, Rollno
FROM table_name
ORDER BY Name,RollNo DES)
DELETE FROM table_name
WHERE ('ABC',98) IN ( SELECT Name, Rollno
FROM table_name
ORDER BY Name,RollNo DES LIMT 1)
注意:它会删除一个,但我不知道是哪一个。
来试试吧!
delete from TABLE_NAME
如果你的数据库中行数据有差异,你也可以添加 where
子句,例如:
delete from TABLE_NAME where COL1=XXX AND/OR COL@ =YYY
等等……
delete from TABLE_NAME where RollNo= RollNo_HERE AND Name = 'NAME_HERE'
试试这个:
DELETE t
FROM YourTable t
WHERE t.Name = 'Selected Name'
AND t.RollNo = 'Selected RollNo';
WHERE name = 'xyz' and no = 89
,那么您可以加上 limit 1
,这将只删除一行,但对于您来说哪一行并不重要。因为表中的行没有重要的顺序。它们不是按特定顺序存储的。 - Mahmoud Gamal