mysql Varias claves foráneas en una tabla con la misma clave principal
Tengo una mesauser
conuserID
como la clave principal. Tengo otra mesa llamadaFriends
. En elFriends
mesa, tengo dos usuarios como amigos representados por las columnasUserID
yFrndID
donde ambosUserID
yFrndID
debería ser unuserID
en mesauser
.
Quiero hacer cumplir la integridad de los datos. ¿Podría usar algo como esto?
ADD CONSTRAINT `ufd_users_fk` FOREIGN KEY (`userId`, `friendId`)
REFERENCES `users` (`userId`, `userId`) ON DELETE CASCADE ON UPDATE CASCADE;
Quiero saber esREFERENCES
usuarios(
ID de usuario,
ID de usuario)
¿Hacer referencia a una columna varias veces correctamente? La razón por la que no estoy creando 2 restricciones separadas, es que ambos usuarios deben existir en la tablauser
.