這裏的情況是,我使用postgresql設置了一個數據庫。在我的數據庫中,我有一個聯盟和一些與聯盟有關聯的球隊,我如何設置一個可以與特定聯盟關聯的球隊的最低人數?postgresql限制給定表可用的外鍵數
-2
A
回答
0
您不會將其設置爲約束條件。相反,您可以將其設置爲級別的標誌。國旗將指定是否有足夠的球隊讓聯賽活躍起來。
維護標誌的一種方法是每次插入,刪除或更新團隊時都使用觸發器來更新值。
1
可以用觸發器做到這一點。當增加一隊(INSERT
版),刪除(DELETE
d)或UPDATE
d以更改隊伍時,BEFORE
觸發器應根據更改類型爲新隊和/或老隊鎖定相關聯賽隊列。
然後一個AFTER
觸發做了COUNT
查詢舊和/或新的聯盟,以檢查滿足約束條件和RAISE
S上的異常,如果事實並非如此。
您需要一個字段來標記聯盟「活躍」或「非活動」,其中約束只在活動時才被檢查,否則您永遠無法創建前幾個團隊。
相關問題
- 1. 複製Postgresql外鍵
- 2. 外鍵限制
- 3. 從PostgreSQL中給定的表中引用的表中刪除外鍵約束
- 4. PostgreSQL的外鍵和子表
- 5. PostgreSQL的引用外鍵的多個表
- 6. 根據用戶定義的限制選擇外鍵的數量
- 7. 如何用PostgreSQL限制特定表中的行數?
- 8. PostgreSQL - 引用多個表的外鍵
- 9. 對外鍵的Db限制
- 10. PostgreSQL外鍵
- 11. postgresql - pg_pathman - 外鍵
- 12. 外鍵PostgreSQL裏
- 13. PostgreSQL - 外鍵引用互斥表
- 14. Postgresql繼承和外鍵引用父表
- 15. PostgreSQL:限制表或數據庫增長?
- 16. PostgreSQL - 有什麼方法可以找到引用特定表的所有外鍵?
- 17. Criteria api外鍵限制
- 18. MySQL通過外鍵限制
- 19. PostgreSQL的外鍵整數[]是指整數
- 20. PostgreSQL中的外鍵+表繼承?
- 21. ActiveRecord + postgresql +數據限制
- 22. 在EER中應用外鍵限制
- 23. PostgreSQL錯誤:沒有唯一的約束匹配給定表的鍵給定
- 24. 通過外鍵從**給定表中引用的表**
- 25. POSTGRESQL外鍵引用兩個不同表格的主鍵
- 26. 在給定PostgreSQL中表PSQL
- 27. Postgresql:角色oid的外鍵
- 28. 有條件的PostgreSQL外鍵
- 29. PostgreSQL中的JSON外鍵
- 30. PostgreSQL的功能外鍵
您不可能指定最小值。 – zerkms
即使你可以制定一個數據庫約束(每個聯盟必須有N支球隊),那麼你如何將球隊添加到新的聯盟,假設N大於1?像這樣的數據庫約束會以許多意想不到的方式讓生活變得困難 –