簡體   English   中英

SQL 服務器不刪除記錄

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM