Hola.
Es primera vez que hago este tipo de tablas en mysql y en realidad no se si funciona o no? La data base contiene una tabla con los datos de los usuarios registrados en una pagina web, en esta tabla hay un userId como primary key. En otra tabla (glada_category) guardare los nombres de las categorias de una galeria de imagen, esta tabla tiene un cat_id que el primary key con autoincremento, La siguiente tabla (glada_subcateg) es la que contiene los nombres de las subcategorias y usa como key subcat_id con autoincremento. Esta tabla debe recibir los los valores de la columna cat_id de la tabla category para relacionarlo con subcat_id, asi, si el administrador desea agregar una subcategoria en la categoria X , a travez de la id sabra la base de datos a que categoria relacionara la nueva subcategoria.
El problema esta en que he creado las tablas, todas InnoDB, y tambien las refrencias, pero al probarlas, directamente en SQLyog, a pesar de que creo nuevos registros en la tabla category, la tabla glada_subcateg no muestra ningun cambio, es decir, la columna que deberia recibir el id desde la tabla glada_category continua vacio.
Les coloco los scripts que utilize para crear las tablas, quizas haya un error en ellos:
Tabla de los usuarios:
Código:
CREATE TABLE `glada_users` (
`userId` int(5) unsigned NOT NULL auto_increment,
`username` varchar(40) NOT NULL,
`password` varchar(40) NOT NULL default '',
`name` varchar(40) NOT NULL,
`lastname` varchar(40) NOT NULL,
`address` varchar(50) NOT NULL,
`postcode` varchar(7) NOT NULL,
`area` varchar(20) NOT NULL default '',
`email` varchar(20) NOT NULL,
`mobile` varchar(10) NOT NULL default '',
`mobileModel` varchar(20) NOT NULL default '',
`date` date default NULL,
PRIMARY KEY (`userId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
Tablas de las categorias:
Código:
CREATE TABLE `glada_category` (
`cat_id` int(10) unsigned NOT NULL auto_increment,
`cat_name` varchar(45) NOT NULL,
PRIMARY KEY (`cat_id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC COMMENT='InnoDB free: 11264 kB'
y la tabla de las sybcategorias:
Código:
CREATE TABLE `glada_subcateg` (
`subcat_id` int(10) unsigned NOT NULL auto_increment,
`subcat_name` varchar(45) NOT NULL,
`cat_id` int(10) unsigned NOT NULL,
PRIMARY KEY (`subcat_id`),
KEY `cat_id` (`cat_id`),
CONSTRAINT `cat_id` FOREIGN KEY (`cat_id`) REFERENCES `glada_category` (`cat_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1
Espero que me puedan ayudar con este problemita.
Saludos