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 esREFERENCESusuarios(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.

Respuestas a la pregunta(1)

Su respuesta a la pregunta