Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

relacionar tablas en mysql

Estas en el tema de relacionar tablas en mysql en el foro de Bases de Datos General en Foros del Web. Hola chicos, tengo una base de datos mysql y necesito saber como relacionar las tablas que he exportado de Access, he probado con la sgte ...
  #1 (permalink)  
Antiguo 16/09/2003, 10:18
 
Fecha de Ingreso: mayo-2002
Mensajes: 88
Antigüedad: 22 años
Puntos: 0
relacionar tablas en mysql

Hola chicos, tengo una base de datos mysql y necesito saber como relacionar las tablas que he exportado de Access, he probado con la sgte sentencia pero me da error:

ALTER TABLE productos CONSTRAINT FOREING KEY productos(id_sector) REFERENCES sectores(id_sector)

¿hay alguna forma de hacerlo gráficamente???, y sino, ¿como lo hago?????.

Muchas gracias
  #2 (permalink)  
Antiguo 16/09/2003, 11:26
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 4 meses
Puntos: 11
Recuerda que versiones anteriores de MySql no soportan las llaves foraneas, primero debes asegurarte que la que tiens si lo haga.

la sentencia es algo asi:

[CONSTRAINT symbol] FOREIGN KEY (index_col_name, ...)
REFERENCES table_name (index_col_name, ...)
[ON DELETE {CASCADE | SET NULL | NO ACTION
| RESTRICT}]
[ON UPDATE {CASCADE | SET NULL | NO ACTION
| RESTRICT}]


Un ejemplo seria :

ALTER TABLE yourtablename
ADD [CONSTRAINT symbol] FOREIGN KEY (...) REFERENCES anothertablename(...)
[on_delete_and_on_update_actions]
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #3 (permalink)  
Antiguo 17/09/2003, 01:49
 
Fecha de Ingreso: mayo-2002
Mensajes: 88
Antigüedad: 22 años
Puntos: 0
Ok, muchas gracias, de todas formas voy a hacer un inciso por si a alguien le ha pasado lo mismo que a mí.

Yo tenía la base de datos en Acces y la pasé a mysql, y creía que si no hacía las foreing keys no podía hacer consultas que unieran varias tablas (tipo inner join), pero no es así, haciendo las consultas con los inner join por las claves ajenas funciona perfectamente, y no hace falta hacer las relaciones (lineas fisicas de union), entre las tablas tal como las podemos ver en acces ó en sql server.

Nada, es por si alguien se plantea la misma duda. ¡chao!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 20:50.