Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/12/2003, 09:24
Avatar de alexa10
alexa10
 
Fecha de Ingreso: julio-2002
Ubicación: De este lado...
Mensajes: 293
Antigüedad: 21 años, 9 meses
Puntos: 0
Relación entre tablas en MySQL

Saludos amigos foreros...

Para el manejo del catálogo de un carro de compras en PHP he creado las siguiente tablas:

Catalogo, con la siguiente estructura: id_articulo, stamp_articulo, stock_articulo, id_categoria, nombre_articulo, descrip_articulo, precio_articulo, ruta_imagen, ruta_thumb, label_articulo

Categorías, con la siguiente estructura: id_categoria, categoria_padre, nombre_categoria, ruta_titulo, ruta_imagen

El problema es que necesito que si elimino una categoría, se eliminen todos los artículos contenidos en dicha categoría. Para realizar la relación entre ambas tablas, utilizo id_categoria.

Este es el código, para generar las tablas:
DROP TABLE IF EXISTS catalogo;
CREATE TABLE catalogo (
id_articulo smallint(6) NOT NULL auto_increment,
stamp_articulo bigint(20) NOT NULL default '0',
stock_articulo varchar(20) default NULL,
id_categoria smallint(6) default NULL,
nombre_articulo varchar(60) NOT NULL default '',
descrip_articulo text NOT NULL,
precio_articulo decimal(12,2) NOT NULL default '0.00',
ruta_imagen varchar(254) default NULL,
ruta_thumb varchar(254) default NULL,
label_articulo varchar(10) NOT NULL default 'OPEN',
PRIMARY KEY (id_articulo);
)TYPE=InnoDB;

DROP TABLE IF EXISTS categorias;
CREATE TABLE categorias (
id_categoria smallint(6) NOT NULL auto_increment,
categoria_padre smallint(6) NOT NULL default '0',
nombre_categoria varchar(50) NOT NULL,
ruta_titulo text default NULL,
ruta_imagen text default NULL,
PRIMARY KEY (id_categoria,categoria_padre),
FOREIGN KEY (id_categoria)
REFERENCES catalogo (id_categoria)
on delete cascade
on update cascade)TYPE=InnoDB;
INSERT INTO `categorias` (`id_categoria` , `categoria_padre` , `nombre_categoria` , `ruta_titulo` , `ruta_imagen` )
VALUES ('', '0', 'Categorías Principales', NULL , NULL
);

Entonces el MySQL me da el siguiente error:

Error
Los componentes adicionales para trabajar con tablas vinculadas fueron desactivados. Para saber porqué, dé clic aquí.

Cuando le doy click, aparece lo siguiente:

PMA Database ... no recibió el OK[ Documentación ]
Opciones de relación general Deshabilitado

Siguiendo ciertas instrucciones que estan en el link de documentacion, voy cambiando cosas, hasta el punto que me parece que dañe el MySQL .

Mi pregunta es: hay alguna forma más sencilla de utilizar tablas relacionales en MySQL?, o el único camino es el atolladero en el que estoy metida???

Cualquier luz que puedan darme con respecto a este asunto, estare muy agradecida...

Por cierto estos son lo datos del MySQL:
MySQL 3.23.54-nt ejecutándose en localhost como root@localhost



Espero haberme explicado con claridad...