| row (int) | thingy_a_id (int) | thingy_b_id (int) | bool | bunch_more_cols |
|----------- |------------------- |------------------- |------ |----------------- |
| 1 | 6 | 2 | 0 | |
| 2 | 3 | 3 | 0 | |
| 3 | 2 | 4 | 0 | |
| 4 | 2 | 4 | 0 | |
| 5 | 2 | 4 | 1 | |
| 6 | 6 | 2 | 0 | |
В создаваемой мной базе данных мне нужно сочетание двух столбцов, чтобы они были уникальными, НО только в том случае, если третий является истинным. Таким образом, в приведенном выше примере вполне нормально, что строки 3 и 4 имеют одинаковые значения a и b cols, поскольку bool равно False (0). И также хорошо, что строка 5 имеет те же столбцы a & b, что и 3 & 4, потому что это единственное, что bool верно (1). И было бы хорошо, если бы была зафиксирована еще одна строка, где thingy_a_id равен 2, thingy_b_id равен 4, а bool равен False (0).
Что мне нужно предотвратить, так это ДРУГОЙ ряд, который фиксируется, где thingy_a_id равен 2, thingy_b_id равен 4, а bool имеет значение True (1).
Можно ли это сделать с помощью mySql? Как я мог совершить sh это?