Si tengo una mesa que se ve así
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)
)
¿Hay alguna manera de asegurarse de que, aa != bb
además de utilizar la lógica de nivel de aplicación o forzar el fallo de un disparador ANTES DE INSERTAR?
Foo
tabla:(1,2) (2,3) (3,1)
. ¿Cómo deberíamos dividir los tres valores?