Cita: la llave foránea la estoy creando desde navicat
Bueno, eso implica que tienes datos sucios, es decir, en la tabla "cambios", hay registros que no están relacionados con la tabla "pacientes", o al menos los valores que existen no se corresponden a Ids de los mismos.
Para verificar qué casos no cumplen la restricción, ejecuta esto:
Código SQL:
Ver originalSELECT *
FROM cambios
WHERE Id_paciente NOT IN(SELECT id FROM pacientes);
Además de esto, estoy viendo que estás usando VARCHAR para almacenar fechas y eso está
muy, pero muy mal. Ese es el tipo de metidas de pata que no debes cometer.
Los datos de tipo fecha
deben ser DATE o DATETIME, pero
jamás se deben usar VARCHAR.
NUNCA.