2011-07-04 35 views
1

我是MSSQL服务器的新手,并且没有任何关于它的知识。SQL Server不会删除记录

我有以下问题。

我已经在SQL Server中添加九个记录每下面的图片相同的值,显示2005年

我没有给任何主键表。

现在,当我选择一条记录或多条记录,并击中删除键时,它不会从表中删除记录,而是会给我错误。

enter image description here

+1

你得到了什么错误? –

+4

第一步:**添加主键** –

+1

什么是错误? – CatchingMonkey

回答

6

您需要添加主键唯一标识每一条记录,否则,SQL服务器没有办法区分的记录,因此无法知道删除哪一个,导致错误的方式。

+0

感谢您的回复..........是否没有任何按钮或方式,然后查询哪些允许我们删除整个表的数据。或清除表的内容? –

+0

正如其他答案中提到的那样,'DELETE * FROM dbo.Patient'将为您清除表格。然后,您可以添加一个主键,然后再次使用数据填充表格。 – EdoDodo

+0

你的意思是'删除不带'*'的dbo.Patient'?或者'TRUNCATE TABLE dbo.Patient'。 – MatBailie

2

这是因为您没有任何主键,服务器不知道要删除哪一行。清除表(DELETE * FROM dbo.Patient)并创建新的Id列作为主键。

2

在MSSQL中,你需要有一个表的主键。这将唯一标识该特定表的每一行。

例如在Oracle中,您不需要使用ROWID(意味着每个表中的每行都有数据库中的唯一ID)。一旦你知道了这个ID,你就知道Oracle从哪张表中知道。

所以,现在你可以添加一个主键到表中,你可以使它自动增量 - 确保唯一性。