Índice exclusivo do MySQL por vários campos

Temos um tipo especial de tabela em nosso banco de dados que armazena o histórico de suas alterações em si. A chamada tabela "auto-arquivada":

CREAT TABLE coverages (
   id INT, # primary key, auto-increment
   subscriber_id INT,
   current CHAR,  # - could be "C" or "H".
   record_version INT,
   # etc.
);

Ele armazena "coberturas" de nossos assinantes. O campo "atual" indica se este é um registro atual / original ("C") ou histórico ("H").

Poderíamos ter apenas uma cobertura "C" atual para o assinante em questão, mas não podemos criar um índice exclusivo com 2 campos (* subscriber_id e current *) porque, para qualquer registro "C", pode haver qualquer número de "H "registros - histórico de alterações.

Portanto, o índice deve ser exclusivo apenas paraatual == 'C' e qualquer subscriber_id.

Isso poderia ser feito no Oracle DB usando algo como "visualizações materializadas": onde poderíamos criar uma visualização materializada que incluiria apenas registros comatual = 'C' e crie um índice exclusivo com esses 2 campos: * subscriber_id, current *.

A questão é:como isso pode ser feito no MySQL?

questionAnswers(1)

yourAnswerToTheQuestion