Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/11/2007, 14:22
Jarkaos
 
Fecha de Ingreso: noviembre-2002
Ubicación: Suecia
Mensajes: 253
Antigüedad: 22 años, 5 meses
Puntos: 2
Consulta de novato

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