[英]SQL Server Does Not Delete Records
我是 MSSQL Server 的新手,對此一無所知。
我有以下問題。
我在 SQL Server 2005 中添加了 9 個具有相同值的記錄,如下圖所示。
我沒有給表提供任何主鍵。
現在,當我選擇一條記錄或多條記錄並按刪除鍵時,它不會從表中刪除記錄,而是給我錯誤。
您需要添加一個主鍵來唯一標識每條記錄,否則SQL服務器無法區分記錄,因此無法知道刪除哪條記錄,從而導致錯誤。
那是因為您沒有任何主鍵並且服務器不知道要刪除哪一行。 清除表( DELETE * FROM dbo.Patient )並創建新的 Id 列作為主鍵。
在 MSSQL 中,您需要有一個表的主鍵。 這將唯一標識該特定表的每一行。
例如,在 Oracle 中,您不需要它,因為您可以使用 ROWID(這意味着每個表中的每一行在數據庫中都有一個唯一的 ID)。 一旦你知道了這個 ID,你 Oracle 就可以確定它來自哪個表。
因此,現在您可以向表中添加主鍵,並且可以使其自動遞增 - 確保唯一性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.