List:Spanish« Previous MessageNext Message »
From:miguel solórzano Date:March 25 2003 5:42pm
Subject:Re: relaciones entre columnas
View as plain text  
At 08:40 25/03/2003 -0300, Jorge Carlos Franco wrote:
Hola,

>segun lo que he leido hasta el momento (que no es mucho) he podido 
>entender que para que una tabla este relacionada con otra debe tener una 
>columna en comun con la tabla con la cual la quiero relacionar por ejemplo.

Bien primero tú necesitas usar el tipo de tablas llamada InnoDB
para poder usar integridad referencial, las líneas comenzando con
# son mis comentarios:

mysql> create table padres (id_padres int auto_increment not null
     -> primary key,
     -> nombre char(40),
     -> apellido char(25),
     -> edad int) type=innodb;
Query OK, 0 rows affected (0.06 sec)

mysql> create table hijos (id_padres int not null, id_hijos int
     -> auto_increment not null
     -> primary key,
     -> nombre char(40),
     -> apellido char(25),
     -> edad int,
     -> index par_id (id_padres), foreign key (id_padres)
     -> references padres(id_padres) on update cascade) type=innodb;
Query OK, 0 rows affected (0.17 sec)

# nota que el campo id_padres son los primeros en cada tabla

mysql> insert into
     -> padres
     -> values
     -> ("","josé", "diaz", 45);
Query OK, 1 row affected (0.06 sec)

mysql> insert into
     -> hijos
     -> values
     -> (1,"","carlos", "diaz", 10);
Query OK, 1 row affected (0.05 sec)

# ahora voy a probar la integridad referencial tentando remover
# en la tabla padres el registro que tiene registros en la tabla
# hijos, eso debe ser negado:

mysql> delete from padres where id_padres=1;
ERROR 1217: Cannot delete a parent row: a foreign key constraint fails

# eso prueba la referencia
# para hacer eso posible es necesario remover los campos relacionados
# en la tabla hijos

saludos,


-- 
Regards,
    __  ___     ___ ____  __
   /  |/  /_ __/ __/ __ \/ /    Miguel Angel Solórzano <miguel@stripped>
  / /|_/ / // /\ \/ /_/ / /__   São Paulo - Brazil
/_/  /_/\_, /___/\___\_\___/
        <___/   www.mysql.com 

Thread
Prueba por favor ignorenmiguel solórzano24 Mar
  • RE: Prueba por favor ignorenGerardo Narvaja24 Mar
    • RE: Prueba por favor ignorenmiguel solórzano24 Mar
      • relaciones entre columnasJorge Carlos Franco25 Mar
        • Re: relaciones entre columnasmiguel solórzano25 Mar
  • Re: Prueba por favor ignorenJorge Carlos Franco24 Mar
Re: relaciones entre columnasJorge Carlos Franco26 Mar