Se eu tiver uma tabela assim
CREATE TABLE foo (
id INT NOT NULL AUTO_INCREMENT,
aa INT NOT NULL,
bb INT NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY (aa, bb),
CONSTRAINT aa_ref FOREIGN KEY (aa) REFERENCES bar (id),
CONSTRAINT bb_ref FOREIGN KEY (bb) REFERENCES bar (id)
)
Existe uma maneira de garantir que, aa != bb
além de usar a lógica no nível do aplicativo ou forçar a falha de um gatilho no ANTES DE INSERIR?
Foo
tabela:(1,2) (2,3) (3,1)
. Como devemos dividir os três valores?