Eu criei esta tabela
CREATE TABLE mytable (
ID bigint NOT NULL AUTO_INCREMENT,
Caller varchar(255) NOT NULL,
Name varchar(255) NOT NULL,
PRIMARY KEY (ID));
ALTER TABLE `mytable` ADD UNIQUE `unique_index`(`Name`, `Caller`);
o problema:
Se eu inserir
insert into mytable values ('value1','12929393');
e então
insert into mytable values ('value1','12929393');
bloqueie porque é duplicado (e está ok)
mas se eu inserir
insert into mytable values ('value1','12929344');
ou
insert into mytable values ('value2','12929393');
Ele aceita e eu prefiro bloquear porque o valor 12929393 é duplicado. É possível fazer isso no MySQL ou MariaDB?
Basta adicionar índices exclusivos em cada coluna separadamente, não um índice composto.
Esta solução também funciona bem