Я хотел бы создать уникальный индекс для двух столбцов, один из которых всегда имеет значение, а другой - где значение по умолчанию часто равно 0.
В следующем примере идентификатору пользователя 22 понравились 2 телепередачи и 3 фильма. Я хочу предотвратить случай, когда пользователь хотел бы одного и того же телешоу или mov ie дважды. Тем не менее, я не могу сделать его уникальным для идентификатора пользователя и идентификатора фильма или идентификатора пользователя и идентификатора пользователя и tvshowid, поскольку во многих случаях идентификатор пользователя соединяется с 0, когда аналогично для телешоу.
Likes
id|userid|movieid|tvshowid
1|22|0|33
2|22|0|34
3|22|66|0
4|22|67|0
5|22|68|0
Я мог бы изменить все 0 на NULL, но NULLS, как правило, создают проблемы на клиенте.
Каков наилучший способ обработки создания уникального индекса для двух столбцов, когда один имеет несколько пустых значений в нем?
Если требуется изменить все 0 на NULL, есть ли эффективный оператор MYSQL для этого?