I имеют следующие значения в моей базе данных:Предпочтительный способ создания составного уникального индекса с NULL значениями
Я хотел бы создать уникальный ключ на tv_series_id+name+tv_season_number+tv_episode_number
. Однако вышеизложенное не работает для моих целей с использованием обычных:
ALTER TABLE main_itemmaster ADD UNIQUE KEY (tv_series_id, tv_season_number, tv_episode_number, name)
Из-за нулевых значений. Каким образом можно было бы решить эту проблему на уровне базы данных (а не на стороне запроса)?
И, чтобы уточнить, вышеуказанное не должно быть разрешено, так как «97736-Season 4-4-NULL» повторяется 10 раз. Решение, которое я думал о внедрении в качестве последней меры, состояло бы в том, чтобы сохранить дополнительный столбец строк для уникальности, поэтому «97736-Season 4-4-» для вышеуказанного.
Я смущен.MySQL допускает множественные вхождения значений «NULL» в уникальный индекс (http://dev.mysql.com/doc/refman/5.7/en/create-index.html). Итак, ваш метод должен работать. –
@ GordonLinoff обновляет последнее предложение, чтобы уточнить? – David542
Вам нужно разрешить null? Не можете ли вы установить значение по умолчанию для tv_episode_number (например, 0)? – evsheino