Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

relacionar tablas mysql

Estas en el tema de relacionar tablas mysql en el foro de Mysql en Foros del Web. tengo un problema con la relacion de mis tablas. he creado una base de datos en mysql workbench cuando la importo en phpmyadmin no funciona ...
  #1 (permalink)  
Antiguo 11/02/2012, 11:09
 
Fecha de Ingreso: enero-2010
Mensajes: 14
Antigüedad: 14 años, 2 meses
Puntos: 0
Busqueda relacionar tablas mysql

tengo un problema con la relacion de mis tablas. he creado una base de datos en mysql workbench cuando la importo en phpmyadmin no funciona como debe la relacion. podrian decirme por que.



SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';

DROP SCHEMA IF EXISTS `gprojects` ;
CREATE SCHEMA IF NOT EXISTS `gprojects` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
USE `gprojects` ;

-- -----------------------------------------------------
-- Table `gprojects`.`empresa`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gprojects`.`empresa` (
`idempresa` INT NOT NULL AUTO_INCREMENT ,
`nombre` VARCHAR(45) NOT NULL ,
`telefono` VARCHAR(45) NOT NULL ,
`direccion` VARCHAR(45) NOT NULL ,
PRIMARY KEY (`idempresa`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `gprojects`.`cliente`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gprojects`.`cliente` (
`idcliente` INT NOT NULL AUTO_INCREMENT ,
`encargado` VARCHAR(45) NOT NULL ,
`telefono` INT NOT NULL ,
`celular` INT NOT NULL ,
`bb` VARCHAR(45) NOT NULL ,
`url` VARCHAR(45) NOT NULL ,
`email` VARCHAR(45) NOT NULL ,
`idempresa_r` INT NOT NULL ,
PRIMARY KEY (`idcliente`) ,
CONSTRAINT `idempresa_r`
FOREIGN KEY (`idempresa_r` )
REFERENCES `gprojects`.`empresa` (`idempresa` )
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB;

CREATE INDEX `idempresa_r` ON `gprojects`.`cliente` (`idempresa_r` ASC) ;


-- -----------------------------------------------------
-- Table `gprojects`.`proyecto`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gprojects`.`proyecto` (
`idproyecto` INT NOT NULL AUTO_INCREMENT ,
`activo` INT NOT NULL ,
`nombre_pro` VARCHAR(45) NOT NULL ,
`presupuesto` FLOAT NOT NULL ,
`moneda` VARCHAR(45) NOT NULL ,
`idia` INT NOT NULL ,
`imes` INT NOT NULL ,
`iano` INT NOT NULL ,
`fdia` INT NOT NULL ,
`fmes` INT NOT NULL ,
`fano` INT NOT NULL ,
`descripcion` VARCHAR(45) NOT NULL ,
`progreso` INT NOT NULL ,
`idcliente_r` INT NOT NULL ,
PRIMARY KEY (`idproyecto`) ,
CONSTRAINT `idcliente`
FOREIGN KEY (`idcliente_r` )
REFERENCES `gprojects`.`cliente` (`idcliente` )
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB;

CREATE INDEX `idcliente` ON `gprojects`.`proyecto` (`idcliente_r` ASC) ;


-- -----------------------------------------------------
-- Table `gprojects`.`comentario`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gprojects`.`comentario` (
`idcomentario` INT NOT NULL AUTO_INCREMENT ,
`fecha` DATE NOT NULL ,
`comentario` VARCHAR(45) NOT NULL ,
`idproyecto_r` INT NOT NULL ,
PRIMARY KEY (`idcomentario`) ,
CONSTRAINT `idproyecto`
FOREIGN KEY (`idproyecto_r` )
REFERENCES `gprojects`.`proyecto` (`idproyecto` )
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB;

CREATE INDEX `idproyecto` ON `gprojects`.`comentario` (`idproyecto_r` ASC) ;


-- -----------------------------------------------------
-- Table `gprojects`.`notas`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gprojects`.`notas` (
`idnotas` INT NOT NULL AUTO_INCREMENT ,
`activo` INT NOT NULL ,
`fecha` DATE NOT NULL ,
`nota` VARCHAR(45) NOT NULL ,
PRIMARY KEY (`idnotas`) )
ENGINE = InnoDB;



SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
  #2 (permalink)  
Antiguo 11/02/2012, 12:51
Avatar de Ribon  
Fecha de Ingreso: septiembre-2010
Ubicación: El firmamento
Mensajes: 487
Antigüedad: 13 años, 7 meses
Puntos: 91
Respuesta: relacionar tablas mysql

Qué error te muestra el phpmyadmin?

Al exportar en MySQL Workbench hay una opción que dice "poner sentencias separadas para la creación de indices" o algo así. márcala antes de exportar.

Pero si no pones el error que te lanza el phpmyadmin mucho más no se puede decir.

saludos.
__________________
Utilice el Highlight para mostrar código, mis ojos se lo agradecerán :)
qué es esto? :O -> http://i48.tinypic.com/5x3kzs.png
Ya sabes :)
  #3 (permalink)  
Antiguo 11/02/2012, 17:25
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: relacionar tablas mysql

Mira, yo copie y corrí tu script con el MySQL Workbench sobre un servidor con MySQL 5.0.67, y no tuve ningún mensaje de error, por lo que no debería suceder nada inclusive con el 5.5.xEl rpoblema puede ser de permisos si el phpMyadmin es de un hosting...
¿EN qué sitio está el servidor que usas y qué MySQL usa?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: php, relacionar, sql, tabla, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:04.