2016-03-16 26 views
0

我不確定這是否可以在CHECK約束中完成,或者如果在插入過程中需要存儲過程進行驗證,但是是否可以創建約束以僅允許X一列中的重複數量,其中X> 1?CHECK約束在列中允許X重複

東西線沿線的:

CONSTRAINT limiter_chk CHECK (SELECT COUNT(Id) AS Ct FROM Mytable WHERE Id = Id AND Count < 50) 

我知道上面的是無效的,但只是想表明約束我所描述的類型。

+1

當前MySQL [解析但忽略](http://stackoverflow.com/q/2115497/3404097)CHECK約束。大多數DBMS允許[只有CHECK約束條件下的表中的列](http://stackoverflow.com/q/6195881/3404097)。 – philipxy

+0

最近了解到,MySQL忽略了CHECK約束(在我發佈之後不久)這很不幸。 – JNYRanger

回答

1

業務邏輯應該位於應用程序中,而不是數據庫中。

但是,你可能會寫一個TRIGGER來做你所要求的。

+0

我有一種感覺,這是答案,但無法找到任何明確的在線。感謝您的確認。 – JNYRanger