28/09/2004, 11:17
|
| | Fecha de Ingreso: septiembre-2004 Ubicación: Puebla, México
Mensajes: 81
Antigüedad: 20 años, 2 meses Puntos: 0 | |
Para usar foreign keys en mysql, se requiere que:
1. Ambas tablas sean del tipo innodb
2. Usar la sintaxis FOREIGN KEY(campo) REFERENCES table_name (campo)
3. El campo que se declara como foreign key debe ser declarado como indice
En tu caso especifico para solucionar (posiblemente) las cosas necesitas que las tablas queden asi:
create table registro(
matricula varchar(10) not null,
nombre varchar(40) not null,
ap varchar(30) not null,
am varchar(30) not null,
edad int(2) not null,
calleynum varchar(40) not null,
colonia varchar(40) not null,
mundel varchar(50) not null,
cp int(6) not null,
email varchar(50) not null,
telefono varchar(20) not null,
teltrab varchar(20) not null,
telcel varchar(20) not null,
opinion varchar(20) not null,
primary key(matricula) ) TYPE = INNODB;
create table empresa(
claveempre mediumint auto_increment,
matricula varchar(10) not null,
nomempresa varchar(40) not null,
primary key(claveempre),
INDEX (matricula),
foreign key(matricula) references registro(matricula)) TYPE = INNODB;
Debes usar mysql 4 o superior
Tambien checa que cuando crees un registro en empresa, matricula antes exista en registro.
Si esto no sirve seria bueno que publicaras el error que te manda mysql
Espero que esto sirva
__________________ Revista DdS
Revista on-line sobre desarrollo de software |