mysql-workbench - relaciones - llaves foraneas mysql workbench codigo
No se puede establecer una relaciĆ³n de clave externa (9)
Tengo algún problema con MySQL Workbench porque a veces no puedo configurar claves externas al crear tablas. Yo digo que a veces porque no siempre es así. Lo que ocurre es que cuando ingreso un FK y selecciono una tabla de referencia no puedo elegir una columna de referencia. No puedo hacer clic en la casilla de verificación y la lista desplegable está vacía. Realmente no puedo entender cuál es el problema porque no veo ninguna diferencia real con respecto a los FK que están funcionando. He comprobado el tipo de datos, nombre, etc. y son correctos. Proporcionaré un SS para elaborar. La tecla marcada en verde (id_hem) está funcionando bien y las marcas rojas son las que no lo hacen.
¿id_familjer es una clave primaria? configurarlo.
La columna Referenciada solo muestra la clave principal de la tabla de familia.
Asegúrese de que los tipos de datos sean los mismos en ambas tablas, ya que si uno dice int
y el otro es int(6)
no funcionará ya que uno tiene un límite. Tuve este problema y así es como lo solucioné.
En mi caso, cambio la ''recopilación'' en cada columna en la que quiero establecer las claves externas.
Por ejemplo, mi compilación de columnas FK es ''utf8'', también cambio mi tabla de referencia a ''utf8'' también. Y se solucionó mi problema.
Espero que sea de ayuda.
La clave externa debe tener las mismas constantes similares a la clave principal. Puedes ignorar la IA, clave principal. Si la clave principal tiene UI, el extranjero también debería tener UI
Interfaz de usuario-> Interger sin firma AI-> Incremento automático
También para agregar mis dos centavos, esto también sucede si está haciendo diagramas EER en el mismo espacio de nombres de la base de datos y dos o más diagramas contienen una tabla con el mismo nombre.
Entonces, si intentó establecer una relación con una tabla (que también existe en otro diagrama con el mismo nombre) se mostrará dos veces en la tabla de referencia, ambos se refieren al esquema de su diagrama actual y no le permitirán configurar una relación.
La solución es cambiar el nombre de la tabla en el otro diagrama.
También puede ser debido a diferentes colaciones. Solo verifica si esas 2 columnas tienen la misma colación.
En mi caso uno fue con
Tabla por defecto (usando utf8 general)
el otro con
utf8_unicode_ci
He establecido esas 2 columnas con utf8_unicode_ci y funciona.
Tuve el mismo problema ... luego verifiqué las dos tablas ... El problema era el tipo, debería coincidir en las dos tablas.
si en la columna de la tabla foralda, id_familjer es (INT)
en la columna de la tabla fkblixten, id_familjer también debe ser (INT) . si los dos tipos de datos no coinciden, MySQL Workbench no permitirá seleccionar la columna como clave externa.
Sé que esto es antiguo, pero los culpables habituales son la bandera de Non Null
y la Sin Unsigned
. Asegúrese de hacer coincidir estos en la columna de clave externa si la columna a la que se hace referencia los tiene habilitados.
Tuve el mismo problema y el problema estaba en los índices de clave externa. MySQL Workbench genera nombres demasiado largos para los índices fk a veces. La corrección manual ayuda.