刪除我有一個表,這些字段如何執行邏輯與獨特的領域分貝
Field 1 > ActivityID (PK, NOT NULL)
Field 2 > Alias (Unique) (NULL)
Field 3 > IsActive (NULL)
我想做一個邏輯刪除我的意思是,我不希望刪除的行。 我想將字段IsActive更改爲0並將字段別名更改爲NULL
但是我的問題是我無法將別名字段更改爲NULL,因爲他是唯一的。
當我需要刪除唯一字段中的值時,如何使用唯一字段進行邏輯刪除。
刪除我有一個表,這些字段如何執行邏輯與獨特的領域分貝
Field 1 > ActivityID (PK, NOT NULL)
Field 2 > Alias (Unique) (NULL)
Field 3 > IsActive (NULL)
我想做一個邏輯刪除我的意思是,我不希望刪除的行。 我想將字段IsActive更改爲0並將字段別名更改爲NULL
但是我的問題是我無法將別名字段更改爲NULL,因爲他是唯一的。
當我需要刪除唯一字段中的值時,如何使用唯一字段進行邏輯刪除。
如果您使用的是SQL 2008 &,請使用過濾後的索引在索引中不包含NULL。
SQL 2005和更早版本,別名本身不能有一個唯一的約束,可以是NULLable,並有很大的用處。所以,你可以使用計算列技術來解決這個問題。看到這個答案更多...
簡而言之:你不能。聲明爲unique
的列要求該列中的每個值都是唯一的。具有多個null
值會違反該約束。
如果我理解正確。您的別名字段是唯一的,但允許空值。這意味着只能有一個空值的記錄。
如果您需要多個記錄在此字段中具有空值,則需要更改數據庫設計,以使您的別名字段不唯一。
坦克... 我希望有一種方法可以做到這一點獨特的領域 – Silagy 2011-03-02 06:56:29