資料庫刪除資料出現鍵列資訊不足或不正確解決辦法

2021-08-25 09:33:34 字數 1117 閱讀 3798

做機房管理系統的時候,在資料庫中沒有新增主鍵約束,在新增了相同的資料以後,發現手動刪除的時候,提示鍵列資訊不足或不正確,

無法刪除資料.不論是多條選中還是單條選中,都是刪除不了.感覺真的是很奇怪.

後來查了一下資料.,主要是因為沒有主鍵,重複的資料資料庫無法辨認,導致無法刪除.

解決這個的辦法一是是由sql在查詢分析器中刪除,另乙個笨的方法是刪除表,然後再新建立乙個表.

解決不是辦法,主要是如何防止這種錯誤

方法是在ms sql server

表中新增乙個自增字段.例如id

最簡單的一種,在「設計表」的模式下編輯要設為自增字段的列屬性。自增列的型別值必須是decimal、int、numeric、smallint、bigint 或tinyint中的一種。在「表示」下拉列表中選「是」,「標識種子」中填入自增字段的初始值,在「標識地增量」中填入自增量。

把設定標識列的字段,右擊屬性,選擇標的標識列.

id欄位將自動的增加,不用我們在**中操作,每次預設加一,從一開始.這樣就方便了很多.

另一種方法是使用sql語句建表,建立標識列.

create table [表名] ( [id] [int] identity (1, 1) not null , [card_id] [char] (10) collate chinese_prc_ci_as null constraint [df__表名__card_id__226afdcb] default ('預設值'), [studnet_name] [char] (10) collate chinese_prc_ci_as null , [start_date] [datetime] null , [start_time] [datetime] null , [end_date] [datetime] null , [end_time] [datetime] null , [use_money] [char] (10) collate chinese_prc_ci_as null , [free_money] [char] (10) collate chinese_prc_ci_as null , primary key clustered ( [id] ) on [primary] ) on [primary] go

其中identity(1,1)表示從1開始,增1的標識列.

Oracle資料庫 刪除資料庫

1 單擊 開始 oracle oradb12home1 database configuration assistant 進入刪除步驟的第一步,選擇 刪除資料庫 2 單擊 下一步 按鈕,如圖所示。在資料庫列表中選擇需要刪除的資料,例如test,並輸入使用者名稱和口令。3 單擊 下一步 按鈕,開啟 管...

mysql刪除資料庫資料庫 MySQL刪除資料庫

刪除資料庫是指在資料庫系統中刪除已經存在的資料庫。資料庫刪除之後,原來分配的空間將被收回。需要注意的是,資料庫刪除之後該資料庫中所有的表和資料都將被刪除。因此刪除資料庫要特別小心。一 通過sql語句 mysql中,刪除資料庫通過sql語句drop database。其語法格式如下 drop data...

Oracle資料庫刪除資料主外來鍵關聯處理

情景 刪除oracle資料庫中的某條資料時,有時候會出現主外來鍵關聯無法刪除資料的錯誤資訊,詳細錯誤資訊如下 這時,我們使用下面三個步驟就可以成功刪除資料。第一步 讓主鍵失效 alert table table name disable primary key cascade第二步 刪除表中所有資料...