Documentos de Académico
Documentos de Profesional
Documentos de Cultura
tabla "mantenimiento_invitaciones":
tabla "mantenimiento_eventos":
Tu privacidad
Presionando "Aceptar todas las cookies", aceptas que Stack Exchange puede guardar cookies en tu dispositivo
y mostrar información de acuerdo a nuestra política de cookies.
https://es.stackoverflow.com/questions/36519/error-al-crear-foreign-key-en-mysql-workbench 1/3
28/6/22, 12:19 Error al crear Foreign Key en MySQL Workbench - Stack Overflow en español
mysql
Compartir Mejora esta pregunta editada el 28 nov. 2016 a las 20:41 formulada el 28 nov. 2016 a las
20:37
Seguir Shaz
28.8k 18 37 61 RRGT19
1,961 9 30 58
Poniendo el error de lado, ¿estás seguro de que tiene sentido crear la clave foránea for la columna
fecha? Eso es muy inusual.
– sstan
el 28 nov. 2016 a las 20:45
pues, la idea era, al crear una invitacion, esta debe tener un nombre, el evento (nombre de un evento
creado), y por ultimo la fecha del evento (la fecha del evento creado). Tengo otra clave foránea para los
invitados (nombre del invitado de mi tabla invitados) La idea es que estos datos me los hale
automáticamente. Creo una invitacion nueva, eligo usuarios, selecciono el evento, y la fecha se copie
automatico. no es buena idea?. por qué quería seleccionar una fecha distinta a la fecha del evento?.
– RRGT19
el 28 nov. 2016 a las 20:51
Si estás aprendiendo, te recomiendo evitar usar las herramientas que generan el código por ti. Lo mejor
es ensuciarte las manos y aprender de verdad.
– user227
el 28 nov. 2016 a las 21:10
@LuiggiMendoza estoy aprendiendo todavía y no uso ninguna herramienta para generar código. Trato
de hacer todo yo mismo, pidiendo consejos y preguntando. Lo único que me ha dado mas trabajo es el
diseño de la base de datos, es mi primera vez y el tema de claves foráneas, uno a muchos, uno a uno,
etc.. es algo confuso para mí en estos momentos. La idea era que al crear una invitación, se seleccione
uno de los eventos ya creados, y la fecha de la invitación la hale automático, ya que no tiene sentido
invitar a una persona a un evento con una fecha errónea.
– RRGT19
el 28 nov. 2016 a las 21:20
Ordenado por:
1 respuesta
Mayor puntuación (por defecto)
En MySQL las llaves foráneas solo se pueden aplicar haciendo referencia a una columna que
tenga un índice asociado, tal como se explica en la documentación oficial.
2
Por ejemplo, revisemos este script:
-- Alteramos la tabla T1
-- para crear un índice sobre la columna FECHA
ALTER TABLE t1
ADD INDEX (fecha);
Entonces, la solución parece ser que solo deberías crear un índice sobre el campo que
requieres.
OJO. La solución real NO ES la que indico arriba. Técnicamente, resolverá el problema, pero es
un mal diseño de base de datos. Lo que deberías hacer es crear verdaderas llaves primarias
para ambas tablas basadas en un ID numérico y asociar las tablas por sus llaves primarias. En
script, esto sería:
https://es.stackoverflow.com/questions/36519/error-al-crear-foreign-key-en-mysql-workbench 3/3