我有一个表chess_games
,其中包含与此问题相关的以下行:
id | tournamentID | whiteUserID | blackUserID | outcome
我想进行以下检查:
只有当结果 == -1、锦标赛 ID == NULL 并且 (whiteUserID, blackUserID) 是唯一的时,才可以插入新的元组。
请注意, (whiteUserID, blackUserID) 不是键,因为如果设置了 torunamentID 或结果 != -1,它不必是唯一的。
MySQL数据库可以做到这一点吗?另请注意解决方案是 MySQL 特定的还是标准 SQL。
虽然我想要一个适用于 MySQL 的解决方案,但我也对 SQL 解决方案感兴趣。