在表格中,每次添加行時都會有一個標識列遞增(最低值爲1)。現在,有一項新要求 - 我們需要實施軟刪除。如何作弊更新標識列?
所以,我的想法是基本上乘以任何軟刪除行-1。這確保了唯一性並清楚地描繪了主動和輕微刪除的項目之間的界限。
update Things set Id = -101
where Id = 101
你知道,愚蠢的電腦不讓我這樣做。建議的解決辦法是到:
- 備用列
- 執行更新
- 備用回柱
,對我好像問答& D.然而,我只能看到另一種方法是添加一個帶有刪除狀態的新列。
我正在使用EF執行額外的怪癖工作,當我改變了身份的價值和存儲它,該軟件是非常友好的爲我思考和實際上創建一個新行(增量設置既不是原始的身份也不是負面的身份)。
我應該如何解決這個問題?
您是否嘗試過'SET IDENTITY_INSERT dbo.Things ON'的'UPDATE'? – stakx
@stakx不,我沒有。主要是因爲我不知道。現在我已經做到了,但我仍然不能 - 這可能與我在Sql Server上有關。無論如何,我們會從Entity Framework那裏做到這一點,我不知道如何做到這一點(或者如果可能的話)。 –