我有兩列名稱,IsDelete在表T 只能有用於IsDelete = 0 唯一的名稱IsDelete =另一列的某些價值觀獨特1,可能有重複的名字。 我使用這個查詢 CREATE UNIQUE INDEX ix ON T(Name) WHERE IsDelete = 0;
但我發現了錯誤, 你有一個錯誤的SQL語法;檢查與您的MySQL服務器版本對應的手冊,以便在第1行'WHERE IsDel
我希望這個作品以某種方式: 我有一個MySQL表有3列: id = int
state = enum('visible', 'moderated', 'deleted')
user_id = int
用戶不應該有超過1項,這是'可見'或'主持',但他可以有無盡的'刪除'條目。 所以,我需要在user_ID的唯一密鑰,只適用,如果狀態是「看得見」或「緩和」
在唯一性約束的上下文中,如果給定列具有特定值(例如「false」),有沒有辦法將行視爲唯一。 舉個例子, 這將被允許: id | user| location| active
----+-----+----------+----------
1 | 1 | West LA | f
2 | 1 | West LA | f
3 | 1 | West LA | t