日期:2014-05-20  浏览次数:20627 次

数据库的基础问题
有一表,表结构如下:
id         name  
1           aaa
2           bb
3           aaa
4           cc
怎样用一条SQL语句,任意删除一条name是aaa的记录(只能删除一条)

------解决方案--------------------
在数据库中要删除数据就用
DELETE FROM <表名> [WHERE <删除条件> ]
WHERE 是注明要删除哪一行,如果不注明条件就会全部删掉了
还有用DELETE 不能删除某一列,要删就是删一行或多行

------解决方案--------------------
delete from table where id =(select top 1 id from table where name= 'aaa ')
------解决方案--------------------
mssql里是top 1 别的数据库我不知道
------解决方案--------------------
delete from table where id =(select top 1 id from table where name= 'aaa ')

select top 1 的意思是指从符合条件的记录中选取第一个,不是只选取一个,一般而言这个后面要跟order by来确定你是根据什么来对你选出来的这些记录进行排序的,否则删肯定是删一个,但是删哪个不同的数据库会有不同的解释,这样容易出问题的.

不如写成delete from table where id =(select top 1 id from table where name= 'aaa ' order by id)

这样能确保删除的是id号小的那条记录