martes, 27 de marzo de 2007

Claves Foraneas en Mysql

Sabias que para que tengan efecto las relaciones entre tablas en mysql las tablas tienen
que ser tipo innodb las columnas de la clave foránea tienen que estar indexadas. Aquí un ejemplo:

mysql >create table persona (id int auto_increment primary key...,
nombres varchar(30), direccion_id int) type = InnoDB;
mysql> create table direcciones(id int auto_increment primary key
..., sector varchar (20), calles varchar(40),
numero_casa varchar(4)) type = InnoDB;

Se requiere primero:

mysql> create index idx_direccion on persona(direccion_id);

Para luego enlazar las claves:

mysql> alter table persona
add constraint fk_direccion_id
foreign key (direccion_id) references direcciones(id;

No hay comentarios: