Hola:
Allam Escribio:
>>
create table paises (codigo char(2) not null, nombre
varchar(50),
primary key (codigo))TYPE=InnoDb;
create table clientes (id varchar(15), nombre varchar(50), pais
char(2)
Not null, email varchar(60), direccion varchar(100), fecha date,
empresa
varchar(50), primary key(id), index fkpais (pais), foreign key
(fkpais)
references pais (codigo))TYPE=InnoDB;
^
[0]
<<
Segun me parece hay un error en [0], me parece que la tabla se llama
paises, puede ser una de las causas, aunque creo que es m�s un error de
transcripcion.
En donde si me parece en donde se encuentra el error es en que no
especificas las acciones de Integridad Refererencial para la llave
foranea, por ejemplo para evitar la insercion de un cliente con un pa�s
que no existe debes especificar lo siguiente:
create table clientes (id varchar(15), nombre varchar(50), pais
char(2)
Not null, email varchar(60), direccion varchar(100), fecha date,
empresa
varchar(50), primary key(id), index fkpais (paises), foreign key
(fkpais)
references paises (codigo) on update restrict)TYPE=InnoDB;
La sintaxis es, citada de la documentacion:
[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}]
Con ellas puedes trabajar sin ningun problema, dejanos saber si te
sirvio o no.
Randall
--
Desuscripci�n: escriba a [EMAIL PROTECTED], tema 'unsubscribe'
Problemas a: [EMAIL PROTECTED] http://www.linux.or.cr/listas